将数据框的列转换为因数

时间:2018-08-11 12:06:08

标签: r

我有一个包含100列的数据框,我想将它们全部转换为系数。假设数据框

a <- as.integer(c(1,2,1,2,1,1))
b <- as.integer(c(1,2,3,3,3,1))
df <- data.frame(a,b)

我正在尝试这个,

library(dplyr)
colwise(df, as.factor(df))

这给我一个错误,

> colwise(df, as.factor(df))
Error in sort.list(y) : 'x' must be atomic for 'sort.list'
Have you called 'sort' on a list?

任何建议如何做到这一点正确? 提前致谢。

1 个答案:

答案 0 :(得分:2)

对于dplyr,我们使用factor中的mutate_all将所有列转换为factor

library(dplyr)
df %>%
    mutate_all(factor)