首页 > 解决方案 > 根据条件 R 删除行

问题描述

我有这样的数据

Name  Group  Heath  BP  PM
QW    DE23    20    60  10
We    Fw34    0.5   42  2.5
Sd    Kl78    0.4   0.1 0.5
Op    Ss14    43    45  96

如果该值小于 1.8,我需要删除所有行

我使用了以下命令

 data[colSums(data)>=1.8]
 data[,colSums(data)>=1.8, drop=FALSE]
subset(data, select=colSums(data) >=1.8)

但我得到了这样的错误“colSums(数据)中的错误:'x'必须是数字”

预期输出

Name  Group  Heath  BP  PM
QW    DE23    20    60  10
We    Fw34    0.5   42  2.5
Op    Ss14    43    45  96

标签: r

解决方案


您可以使用选择总和为的行>=1.8

data[rowSums(data[-1:-2])>=1.8,]
#  Name Group Heath BP   PM
#1   QW  DE23  20.0 60 10.0
#2   We  Fw34   0.5 42  2.5
#4   Op  Ss14  43.0 45 96.0

或该行中的任何元素是>=1.8

data[rowSums(data[-1:-2]>=1.8)>0,]
#  Name Group Heath BP   PM
#1   QW  DE23  20.0 60 10.0
#2   We  Fw34   0.5 42  2.5
#4   Op  Ss14  43.0 45 96.0

data[-1:-2]选择数字列。


推荐阅读