【问题标题】:Deleting rows have most of the value zero [duplicate]删除行的大部分值为零[重复]
【发布时间】:2019-09-05 06:14:49
【问题描述】:

文件-

    i   j   k   l   m   n
a   0   0   0   1   0   1
b   8   6   34  1   0   0
c   0   9   12  0   8   0
d   7   9   3   7   0   5
e   0   0   0   1   0   0
f   2   3   9   6   8   9
g   0   1   0   3   1   5
h   0   9   0   8   4   0

我想删除超过 3 个单元格中叶片值为 0 的行。

预期输出-

    i   j   k   l   m   n
b   8   6   34  1   0   0
d   7   9   3   7   0   5
f   2   3   9   6   8   9
g   0   1   0   3   1   5

【问题讨论】:

    标签: r


    【解决方案1】:

    我们可以使用rowSums

    df[rowSums(df == 0) < 3, ]
    
    #  i j  k l m n
    #b 8 6 34 1 0 0
    #d 7 9  3 7 0 5
    #f 2 3  9 6 8 9
    #g 0 1  0 3 1 5
    

    我们也可以使用 apply 并按行计算 0 的个数,然后计算子集

    df[apply(df == 0, 1, sum) < 3, ] 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-07
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 2021-02-24
      • 2021-12-25
      • 1970-01-01
      • 2021-09-24
      相关资源
      最近更新 更多