1

我正在尝试将数据框的所有列转换为因子。但是,转换为因子使我的所有条目都变为string而不是numeric. 参见示例:

df <- data.frame(a = c(1,2,3), b = c(4,5,6))
df_factor <- apply(df, 2, factor)

这就是我得到的:

 #> df_factor
 #     a   b  
 #[1,] "1" "4"
 #[2,] "2" "5"
 #[3,] "3" "6"

你知道问题出在哪里吗?

谢谢,

4

2 回答 2

1

apply(df, 2, factor)将您的数据框更改为矩阵。改用这个:

df_factor <- as.data.frame(lapply(df, factor))
于 2013-09-11T20:58:11.610 回答
0

另一种plyr选择:

library(plyr)
df2 <- colwise(factor)(df)
于 2013-09-11T21:55:26.747 回答