Як перетворити фактор на число в r (з прикладами)


Ми можемо використати такий синтаксис, щоб перетворити фактор-вектор на числовий вектор у R:

 numeric_vector <- as. numeric (as. character (factor_vector))

Спочатку ми повинні перетворити фактор-вектор у символьний вектор, а потім у числовий вектор. Це гарантує, що числовий вектор містить фактичні числові значення замість рівнів факторів.

Цей підручник містить кілька прикладів практичного використання цієї функції.

Приклад 1: Перетворення факторного вектора на числовий

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

 #define factor vector
factor_vector <- factor(c(1, 5, 7, 8))

#convert factor vector to numeric vector
numeric_vector <- as. numeric (as. character (factor_vector))

#view class
class(numeric_vector)

[1] "digital"

Приклад 2: Перетворення стовпця множника на числовий

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

 #create data frame
df <- data. frame (a = factor(c(1, 5, 7, 8)),
b = c(28, 34, 35, 36))

#convert column 'a' from factor to numeric
df$a <- as. numeric (as. character (df$a))

#view new data frame
df

  ab
1 1 28
2 5 34
3 7 35
4 8 36

#confirm class of numerical vector
class(df$a)

[1] "digital"

Приклад 3: Перетворення стовпців із кількома факторами на числові

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

 #create data frame
df <- data. frame (a = factor(c(1, 5, 7, 8)),
                 b = factor(c(2, 3, 4, 5)),
                 c = c('A', 'B', 'C', 'D'),
                 d = c(45, 56, 54, 57))

#display classes of each column
sapply(df, class)

       abcd
"factor" "factor" "character" "numeric" 

#identify all factor columns
x <- sapply (df, is. factor )

#convert all factor columns to numeric
df[, x] <- as. data . frame ( apply (df[, x], 2, as.numeric ))

#display classes of each column
sapply (df, class)

        abcd
"numeric" "numeric" "character" "numeric"

Цей код вніс такі зміни до стовпців кадру даних:

  • Колонка а: Від листоноші до цифрового
  • Колонка b: Від листоноші до цифрового
  • Стовпець c: без змін (оскільки це був символ)
  • Стовпець d: без змін (оскільки він уже був числовим)

Використовуючи функції apply() і sapply() , ми змогли перетворити лише стовпці факторів на числові стовпці та залишити всі інші стовпці без змін.

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

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

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

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