Вы можете использовать следующий синтаксис для преобразования фактора в символ в 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