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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *