我有一个数据框,其中包含一堆数字和因子列。我想要所有非因素列。有没有办法提取它们? 我试过像
这样的东西df[class(df)!="factor" ]
但没有运气。
答案 0 :(得分:2)
Filter
的示例:
df <- data.frame(as.factor(letters), a = runif(26), b=runif(26) )
Filter(Negate(is.factor), df)
输出:
> Filter(Negate(is.factor), df)
a b
1 0.04942200 0.85160817
2 0.96370499 0.77911640
3 0.66545208 0.33037229
4 0.19736620 0.54797165
5 0.15264687 0.72744035
6 0.86426399 0.88491690
...
...
答案 1 :(得分:2)
从技术上讲,数据框是一个列表,因此您可能希望将class()
应用于该列表的每个元素(即每列):
df[lapply(df,class)!="factor" ]