删除具有两个条件的行

时间:2017-03-21 10:50:55

标签: r

我在R中的矩阵:

"V1""V2""V3"
200 0.4  0.5
201 0.4  0.0
202 0.0  0.0
204 0.0  0.1

我的目标是只删除V2V3为零的行,即行号202。当我尝试

df[!(df[,2] == 0) & !(df[,3] == 0),]

它还会移除201202

任何帮助?

谢谢

1 个答案:

答案 0 :(得分:1)

逻辑应该是' V2'和' V3'为零然后删除它。因此,我们需要对{0}使用&然后取消它以仅查找那些不是0的行

df[!(df[,2]==0 & df[,3]==0),]
#   V1  V2  V3
#1 200 0.4 0.5
#2 201 0.4 0.0
#4 204 0.0 0.1

这也可以通过rowSums

完成
df[rowSums(df[,-1]!=0) >0,]