r - 删除行的大部分值为零
问题描述
文件-
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
解决方案
我们可以用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, ]
推荐阅读
- python - 当我将文本与正则表达式匹配并获取匹配的文本时,字符串的前两个字符被截断
- reactjs - RN - setState 正在保存滑块值 +1
- r - 如何使用 x 轴对函数进行排序
- angular - 我使用 BehaviorSubject 的 DataService 不工作
- javascript - 如何从 TypeScript 中的 try/catch 块中导出模块
- javascript - 遍历所有不是文件类型的输入项
- r - 如何在 R 中使用管道编写这些?
- modelica - Dymola发生错误时如何停止模拟?
- python - 重新发送帐户激活电子邮件
- python - 获取执行的经过时间