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


Ви можете використовувати будь-який із наведених нижче методів для перетворення категоріальної змінної в числову змінну в R:

Спосіб 1: Перетворення категоріальної змінної на числову

 df$var1 <- unclass(df$var1)

Спосіб 2: Перетворення кількох категоріальних змінних на числові значення

 df[, c(' var1 ', ' var2 ')] <- sapply(df[, c(' var1 ', ' var2 ')], unclass)

Спосіб 3: Перетворення всіх категоріальних змінних на числові значення

 df[sapply(df, is. factor )] <- data. matrix (df[sapply(df, is.factor )])

У наведених нижче прикладах показано, як використовувати кожен метод із таким кадром даних:

 #create data frame with some categorical variables
df <- data. frame (team=as. factor (c('A', 'B', 'C', 'D')),
                 conf=as. factor (c('AL', 'AL', 'NL', 'NL')),
                 win=as. factor (c('Yes', 'No', 'No', 'Yes')),
                 dots=c(122, 98, 106, 115))

#view data frame
df

  team conf win points
1 A AL Yes 122
2 B AL No 98
3 C NL No 106
4 D NL Yes 115

Спосіб 1: Перетворення категоріальної змінної на числову

Наступний код показує, як перетворити категоріальну змінну у кадрі даних на числову змінну:

 #convert 'team' variable to numeric
df$team <- unclass(df$team)

#view updated data frame
df

  team conf win points
1 1 AL Yes 122
2 2 AL No. 98
3 3 NL No 106
4 4 NL Yes 115

Зверніть увагу, що значення змінної «team» були перетворені в числові значення.

Спосіб 2: Перетворення кількох категоріальних змінних на числові значення

Наступний код показує, як перетворити кілька категоріальних змінних у кадрі даних на числові змінні:

 #convert 'team' and 'win' variables to numeric
df[, c(' team ', ' win ')] <- sapply(df[, c(' team ', ' win ')], unclass)

#view updated data frame
df

  team conf win points
1 1 AL 2 122
2 2 AL 1 98
3 3 NL 1,106
4 4 NL 2 115

Зверніть увагу, що значення змінних «team» і «win» були перетворені в числові значення.

Спосіб 3: Перетворення всіх категоріальних змінних на числові значення

Наступний код показує, як перетворити всі категоріальні змінні в кадрі даних на числові змінні:

 #convert all categorical variables to numeric
df[sapply(df, is. factor )] <- data. matrix (df[sapply(df, is.factor )])

#view updated data frame
df

  team conf win points
1 1 1 2 122
2 2 1 1 98
3 3 2 1 106
4 4 2 2 115

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

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

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

Як перетворити дату на числову в R
Як перетворити символ на множник у R
Як перетворити множник на символ у R

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

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