Come aggiungere un nuovo livello al fattore r (con esempio)
È possibile utilizzare la seguente sintassi di base per aggiungere un nuovo livello a una variabile fattore in R:
levels(df$my_factor) <- c(levels(df$my_factor), ' new_level ')
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: aggiungere un nuovo livello al fattore in R
Supponiamo di avere il seguente frame di dati in R che mostra il numero di vendite effettuate in diverse regioni per un negozio al dettaglio:
#create data frame
df <- data. frame (region=factor(c('A', 'B', NA, 'D', NA, 'F')),
sales=c(12, 18, 21, 14, 34, 40))
#view data frame
df
regional sales
1 to 12
2 B 18
3 <NA> 21
4 D 14
5 <NA> 34
6 F 40
Si noti che la variabile regione è un fattore.
Per visualizzare i livelli di questo fattore, possiamo utilizzare la funzione Levels() :
#view factor levels for region
levels(df$region)
[1] “A” “B” “D” “F”
Possiamo utilizzare la seguente sintassi per aggiungere un nuovo livello di fattore chiamato “nessuna regione”:
#add factor level called 'no region' levels(df$region) <- c(levels(df$region), ' no region ') #convert each NA to 'no region' df$region[is. na (df$region)] <- ' no region ' #view factor levels for region levels(df$region) [1] “A” “B” “D” “F” “no region”
Come livello di fattore è stato aggiunto il nuovo livello denominato “nessuna regione”.
Se lo desideriamo, possiamo utilizzare la funzione table() per contare le occorrenze di ciascun livello di fattore:
#view occurrences of each factor level
table(df$region)
ABDF no region
1 1 1 1 2
Dal risultato, possiamo vedere che il nuovo livello di fattore chiamato “nessuna regione” appare due volte nella colonna regione del frame dati.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in R:
Come convertire un fattore in numerico in R
Come convertire un fattore in un carattere in R
Come riorganizzare i livelli dei fattori in R