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