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


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

x <- as. character (x)

В следующих примерах показано, как использовать этот синтаксис на практике.

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

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

#create factor vector
x <- factor(c('A', 'B', 'C', 'D'))

#view class
class(x)

[1] "factor"

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

#view class
class(x)

[1] "character"

Пример 2. Преобразование столбца фрейма данных в символ

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

#create data frame
df <- data.frame(name=factor(c('A', 'B', 'C', 'D')),
 status=factor(c('Y', 'Y', 'N', 'N')),
 income=c(45, 89, 93, 96))

#view class of each column
sapply(df, class)

 name status income 
 "factor" "factor" "numeric" 

#convert name column to character
df$name <- as. character (df$name)

#view class of each column
sapply(df, class) 

 name status income 
"character" "factor" "numeric" 

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

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

#create data frame
df <- data.frame(name=factor(c('A', 'B', 'C', 'D')),
 status=factor(c('Y', 'Y', 'N', 'N')),
 income=c(45, 89, 93, 96))

#view class of each column
sapply(df, class)

 name status income 
 "factor" "factor" "numeric" 

#convert name column to character
x <- sapply(df, is. factor )
df[x] <- lapply(df[x], as. character )

#view class of each column
sapply(df, class) 

 name status income 
"character" "character" "numeric" 

Пример 4. Преобразование всех столбцов фрейма данных в символы

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

#create data frame
df <- data.frame(name=factor(c('A', 'B', 'C', 'D')),
 status=factor(c('Y', 'Y', 'N', 'N')),
 income=c(45, 89, 93, 96))

#view class of each column
sapply(df, class)

 name status income 
 "factor" "factor" "numeric" 

#convert all columns to character
df <- lapply(df, as. character )

#view class of each column
sapply(df, class) 

 name status income 
"character" "character" "characer" 

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

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