0

我有一个看起来像这样的数据框

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的所有行。这样做的方法是什么?

4

2 回答 2

3
df[!apply(df,1,function(x)all(x<5)),]
于 2013-04-02T01:20:59.857 回答
1

首先...请停止使用cbind创建data.frames。如果你继续,你会后悔的。R会惩罚你。

df[ !rowSums(df <5) == length(df), ]

(length() 函数返回数据框中的列数。)

于 2013-04-02T01:21:14.360 回答