Как создать категориальные переменные в 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() , мы создали новую категориальную переменную под названием «type», которая принимает следующие значения:

  • 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() , мы создали новую категориальную переменную под названием «type», которая принимает следующие значения:

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *