我想从我的数据框中只选择因子列。示例如下:R - 选择数据帧的唯一因子列
bank[,apply(bank[,names(bank)!="id"], is.factor)]
但代码行为很奇怪。一步一步:
sapply(bank[,names(bank)!="id"], is.factor)
我得到:
age sex region income married children car
FALSE TRUE TRUE FALSE TRUE FALSE TRUE
save_act current_act mortgage pep ageBin
TRUE TRUE TRUE TRUE TRUE
看起来OK。现在,我认为我只是通过TRUE/FALSE的这个矩阵下一步并获得唯一的列我需要:
bank[,sapply(bank[,names(bank)!="id"], is.factor)]
但作为结果我得到的所有相同的列在原银行的数据帧。没有东西被过滤掉。我尝试过这种或那种方式,但找不到解决方案。任何关于我做错的建议?
@ d.b只是与一群@ d.b都能跟得上列 –
的数据帧,我从CSV加载它。没什么特别的。 –
你应该提供一个[可重现的例子](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。这会让你更容易帮助你。 TUE/FALSE值应该与所有列匹配。通过排除“id”列,您正在改变一切。 – MrFlick