我有一個看起來像這樣如何刪除行,其中,列滿足數據幀中的某些條件
df <- data.frame(cbind(1:10, sample(c(1:5), 10, replace=TRUE)))
# in real case the columns could be more than two
# and the column name could be anything.
我想要做的是去除所有行的所有列的值 是數據幀小於5. 這是幹什麼的?
我有一個看起來像這樣如何刪除行,其中,列滿足數據幀中的某些條件
df <- data.frame(cbind(1:10, sample(c(1:5), 10, replace=TRUE)))
# in real case the columns could be more than two
# and the column name could be anything.
我想要做的是去除所有行的所有列的值 是數據幀小於5. 這是幹什麼的?
df[!apply(df,1,function(x)all(x<5)),]
首先...請停止使用cbind
創建data.frames。如果你繼續,你會後悔的。 R會懲罰你。
df[ !rowSums(df <5) == length(df), ]
(長度()函數返回的列數在一個數據幀。)
+1對於'cbind'建議。我認爲它實際上是一個'!='。他想刪除這些行,而不是保留它們。 –
這不是,我想它也可以是'!='。固定 –
不是((A!= B))與'!(A == B)'相同嗎? :-) –
謝謝,但你的方法除去所有列其中'至少one'列是小於5。在我的OP, '所有列'都需要滿足這個條件。 – neversaint
Right..edited –