Как преобразовать символ в фактор в R (с примерами)


Мы можем использовать следующий синтаксис для преобразования вектора символов в фактор-вектор в R:

factor_vector <- as. factor (character_vector)

В этом руководстве представлено несколько примеров использования этой функции на практике.

Пример 1. Преобразование вектора из символа в фактор

Следующий код показывает, как преобразовать вектор символов в фактор-вектор:

#create character vector
character_vector <- c('First', 'Second', 'Third')

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

#view factor vector
factor_vector

[1] First Second Third 
Levels: First Second Third

#confirm class of factor vector
class(factor_vector)

[1] "factor"

Пример 2. Преобразование столбца из символа в множитель

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

#create data frame
df <- data.frame(a = c('12', '14', '19', '22', '26'),
 b = c(28, 34, 35, 36, 40))

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

#view new data frame
df

 a b
1 First 28
2 Second 34
3 Third 40

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

[1] "factor"

Пример 3. Преобразование нескольких столбцов из символов в множители

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

#create data frame
df <- data.frame(a = c('12', '14', '19', '22', '26'),
 b = c('28', '34', '35', '36', '40'),
 c = as. factor (c(1, 2, 3, 4, 5)),
 d = c(45, 56, 54, 57, 59))

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

 a b c d 
"character" "character" "factor" "numeric" 

#convert all character columns to factor
df <- as. data.frame (unclass(df), stringsAsFactors = TRUE )

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

 a b c d 
 "factor" "factor" "factor" "numeric" 

Этот код внес следующие изменения в столбцы фрейма данных:

  • Колонка а: от символа к фактору
  • Колонка b: от символа к фактору
  • Столбец c: без изменений (поскольку это уже фактор)
  • Столбец d: без изменений (поскольку он был числовым)

С помощью функций apply() и sapply() мы смогли преобразовать только столбцы символов в столбцы факторов и оставить все остальные столбцы без изменений.

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

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