根据特定条件删除行

时间:2017-03-31 14:02:30

标签: r

我有这些数据:

  name   keyword1  keyword2  keyword3 
  artA      0         1         0 
  artA      1         1         0  
  artB      0         0         1
  artB      1         1         0  
  artC      1         1         0 
  artD      0         0         0 
  artD      0         0         0

如何根据列名删除SUM行?

表达式:

df <- df$name[rowSums(df$name != 0)>0,]

预期结果:

name keyword1  keyword2  keyword3 
artA    0         1         0 
artA    1         1         0  
artB    0         0         1
artB    1         1         0  
artC    1         1         0 

1 个答案:

答案 0 :(得分:1)

我们可以使用Reduce

执行此操作
df1[Reduce(`|`, df1[-1]),]
#    name keyword1 keyword2 keyword3
#1 artA        0        1        0
#2 artA        1        1        0
#3 artB        0        0        1
#4 artB        1        1        0
#5 artC        1        1        0