Учитывая (ранее существовавший) кадр данных, который имеет столбцы различных типов, какой самый простой способ преобразовать все столбцы символов в факторы, не затрагивая никаких столбцов других типов?
Вот пример data.frame
:
df <- data.frame(A = factor(LETTERS[1:5]),
B = 1:5, C = as.logical(c(1, 1, 0, 0, 1)),
D = letters[1:5],
E = paste(LETTERS[1:5], letters[1:5]),
stringsAsFactors = FALSE)
df
# A B C D E
# 1 A 1 TRUE a A a
# 2 B 2 TRUE b B b
# 3 C 3 FALSE c C c
# 4 D 4 FALSE d D d
# 5 E 5 TRUE e E e
str(df)
# 'data.frame': 5 obs. of 5 variables:
# $ A: Factor w/ 5 levels "A","B","C","D",..: 1 2 3 4 5
# $ B: int 1 2 3 4 5
# $ C: logi TRUE TRUE FALSE FALSE TRUE
# $ D: chr "a" "b" "c" "d" ...
# $ E: chr "A a" "B b" "C c" "D d" ...
Я знаю, что могу:
df$D <- as.factor(df$D)
df$E <- as.factor(df$E)
Есть ли способ автоматизировать этот процесс немного больше?