Как создать категориальные переменные в R (с примерами)


Вы можете использовать следующий синтаксис для создания категориальной переменной в 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)))))

В следующих примерах показано, как использовать этот синтаксис на практике.

Пример 1: создание категориальной переменной с нуля

Следующий код показывает, как создать категориальную переменную с нуля:

#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

Пример 2. Создание категориальной переменной (с двумя значениями) из существующей переменной

В следующем коде показано, как создать категориальную переменную из существующей переменной во фрейме данных:

#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

Используя оператор ifelse() , мы создали новую категориальную переменную с именем «тип», которая принимает следующие значения:

  • 1 , если значение в столбце 'var1' меньше 4.
  • 0 , если значение в столбце 'var1' не меньше 4.

Пример 3. Создание категориальной переменной (с несколькими значениями) из существующей переменной

В следующем коде показано, как создать категориальную переменную (с несколькими значениями) из существующей переменной во фрейме данных:

#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

Используя оператор ifelse() , мы создали новую категориальную переменную с именем «тип», которая принимает следующие значения:

  • ' A', если значение в столбце 'var1' меньше 3.
  • В противном случае « B », если значение в столбце «var1» меньше 4.
  • В противном случае « C », если значение в столбце «var1» меньше 5.
  • В противном случае « D », если значение в столбце «var1» меньше 6.
  • В противном случае " Е ".

Дополнительные ресурсы

Как создать фиктивные переменные в R
Как преобразовать фактор в символ в R
Как преобразовать символ в число в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.