Як створити категоріальну змінну з continue у r


Ви можете використовувати функцію cut() в R, щоб створити категоріальну змінну з постійної змінної.

Ця функція використовує такий базовий синтаксис:

 df$cat_variable <- cut(df$continuous_variable,
                       breaks=c(5, 10, 15, 20, 25),
                       labels=c(' A ', ' B ', ' C ', ' D '))

Зауважте, що breaks визначає значення, на які потрібно розділити безперервну змінну, а labels визначає мітку, яку потрібно надати значенням нової категоріальної змінної.

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: створення категоріальної змінної з континууму в R

Припустимо, що ми маємо наступний кадр даних у R:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
                 points=c(78, 82, 86, 94, 99, 104, 109, 110))

#view data frame
df

  team points
1 To 78
2 B 82
3 C 86
4 D 94
5 E 99
6 F 104
7 G 109
8:11 a.m.

Зараз бали є постійною змінною.

Ми можемо використовувати функцію cut() , щоб вирізати його в категоріальну змінну:

 #add new column that cuts 'points' into categories
df$cat <- cut(df$points,
              breaks=c(70, 80, 90, 100, 110),
              labels=c('Bad', 'OK', 'Good', 'Great'))

#view updated data frame
df

  team points cat
1 To 78 Bad
2 B 82 OK
3 C 86 OK
4 D 94 Good
5 E 99 Good
6 F 104 Great
7 G 109 Great
8:110 Great

Ми створили нову категоріальну змінну під назвою cat , яка класифікує кожну команду у фреймі даних як «Погано», «Добре», «Добре» або «Відмінно» на основі їхніх балів .

Ми можемо використовувати функцію class() , щоб перевірити клас цієї нової змінної:

 #check class of 'cat' column
class(df$cat)

[1] “factor”

Ми бачимо, що змінна cat є фактором.

Ми також можемо використовувати функцію table() для підрахунку появи кожної категорії в змінній cat :

 #count occurrences of each category in 'cat' variable
table(df$cat)
  Bad OK Good Great 
    1 2 2 3

Зауважте, що якщо ви не надасте аргумент labels функції cut() , R просто використовуватиме діапазон значень інтервалів як мітки:

 #add new column that cuts 'points' into categories
df$cat <- cut(df$points, breaks=c(70, 80, 90, 100, 110))

#view updated data frame
df

  team points cat
1 A 78 (70.80]
2 B 82 (80.90]
3 C 86 (80.90]
4 D 94 (90,100]
5 E 99 (90,100]
6 F 104 (100,110]
7 G 109 (100,110]
8:110 (100,110]

У деяких випадках ви можете віддати перевагу цьому використанню власних міток.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в R:

Як перетворити категоріальні змінні на числові в R
Як створити категоріальні змінні в R
Як побудувати категоріальні дані в R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *