1
我有一个数据帧到子集数据帧如下如何基于colMeans
Me You They Him She
1 4 6 3 233
82 0 2 4 122
98 2 5 2 99
我希望得到一个新的数据帧只包含那些在colMeans是> 30列这样的结果应该
Me She
1 233
82 122
98 99
我想是这样
dfNew<-subset(df,colMeans(df[, 1:ncol(df)]>30))
,但得到的错误
Error in subset.data.frame(df[, 1:ncol(df)]> :
'subset' must be logical
显然不知道我在做什么。
可以尝试使用'dfNew <-df [colMeans(DF [,1:NcoI位(DF)]> 30),]'代替 – HubertL
即不给我所需的输出。我并没有真正了解输出结果,但它不是正确的 –
你在你的例子中有一个错误的@HubertL复制,你可能想要'colMeans(df [,1:ncol(df)])> 30)' (注意移动的右括号)。否则,将数据帧转换为逻辑数据(通过将每个值与30进行比较),然后采用“colMeans”,因此它们将介于0和1之间。 此外,此调用选择列,而“subset”子集按行。 总结,请参阅@ HubertL的正确答案:) – Max