Come creare variabili categoriali in r (con esempi)
È possibile utilizzare la seguente sintassi per creare una variabile categoriale in R:
#create categorical variable from scratch cat_variable <- factor(c(' A ', ' B ', ' C ', ' D ')) #create categorical variable (with two possible values) from existing variable cat_variable <- as. factor ( ifelse (existing_variable < 4, 1, 0)) #create categorical variable (with multiple possible values) from existing variable cat_variable <- as. factor ( ifelse (existing_variable < 3, ' A ', ifelse (existing_variable < 4, ' B ', ifelse (existing_variable < 5, ' C ', ifelse (existing_variable < 6, ' D ',0)))))
Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.
Esempio 1: creare una variabile categoriale da zero
Il codice seguente mostra come creare una variabile categoriale da zero:
#create data frame df <- data. frame (var1=c(1, 3, 3, 4, 5), var2=c(7, 7, 8, 3, 2), var3=c(3, 3, 6, 10, 12), var4=c(14, 16, 22, 19, 18)) #view data frame df var1 var2 var3 var4 1 1 7 3 14 2 3 7 3 16 3 3 8 6 22 4 4 3 10 19 5 5 2 12 18 #add categorical variable named 'type' to data frame df$type <- factor(c(' A ', ' B ', ' B ', ' C ', ' D ')) #view updated data frame df var1 var2 var3 var4 type 1 1 7 3 14 A 2 3 7 3 16 B 3 3 8 6 22 B 4 4 3 10 19 C 5 5 2 12 18 D
Esempio 2: creare una variabile categoriale (con due valori) da una variabile esistente
Il codice seguente mostra come creare una variabile categoriale da una variabile esistente in un frame di dati:
#create data frame df <- data. frame (var1=c(1, 3, 3, 4, 5), var2=c(7, 7, 8, 3, 2), var3=c(3, 3, 6, 10, 12), var4=c(14, 16, 22, 19, 18)) #view data frame df var1 var2 var3 var4 1 1 7 3 14 2 3 7 3 16 3 3 8 6 22 4 4 3 10 19 5 5 2 12 18 #add categorical variable named 'type' using values from 'var4' column df$type <- as. factor ( ifelse (df$var1 < 4, 1, 0)) #view updated data frame df var1 var2 var3 var4 type 1 1 7 3 14 1 2 3 7 3 16 1 3 3 8 6 22 1 4 4 3 10 19 0 5 5 2 12 18 0
Utilizzando l’istruzione ifelse() , abbiamo creato una nuova variabile categoriale chiamata “type” che accetta i seguenti valori:
- 1 se il valore della colonna “var1” è inferiore a 4.
- 0 se il valore nella colonna “var1” non è inferiore a 4.
Esempio 3: creare una variabile categoriale (con più valori) da una variabile esistente
Il codice seguente mostra come creare una variabile categoriale (con più valori) da una variabile esistente in un frame di dati:
#create data frame df <- data. frame (var1=c(1, 3, 3, 4, 5), var2=c(7, 7, 8, 3, 2), var3=c(3, 3, 6, 10, 12), var4=c(14, 16, 22, 19, 18)) #view data frame df var1 var2 var3 var4 1 1 7 3 14 2 3 7 3 16 3 3 8 6 22 4 4 3 10 19 5 5 2 12 18 #add categorical variable named 'type' using values from 'var4' column df$type <- as. factor ( ifelse (df$var1 < 3, ' A ', ifelse (df$var1 < 4, ' B ', ifelse (df$var1 < 5, ' C ', ifelse (df$var1 < 6, ' D ', ' E '))))) #view updated data frame df var1 var2 var3 var4 type 1 1 7 3 14 A 2 3 7 3 16 B 3 3 8 6 22 B 4 4 3 10 19 C 5 5 2 12 18 D
Utilizzando l’istruzione ifelse() , abbiamo creato una nuova variabile categoriale chiamata “type” che accetta i seguenti valori:
- ‘ A ‘ se il valore della colonna ‘var1’ è inferiore a 3.
- Altrimenti, ” B ” se il valore nella colonna “var1” è inferiore a 4.
- Altrimenti, ” C ” se il valore nella colonna “var1” è inferiore a 5.
- Altrimenti, ” D ” se il valore nella colonna “var1” è inferiore a 6.
- Altrimenti, ‘ E ‘.
Risorse addizionali
Come creare variabili fittizie in R
Come convertire un fattore in un carattere in R
Come convertire un carattere in numerico in R