我有一个包含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?
任何建议如何做到这一点正确? 提前致谢。
答案 0 :(得分:2)
对于dplyr
,我们使用factor
中的mutate_all
将所有列转换为factor
library(dplyr)
df %>%
mutate_all(factor)