R-根据某些列的条件删除行

R-根据某些列的条件删除行,r,conditional-statements,rows,remove,R,Conditional Statements,Rows,Remove,我是R世界的新手,我试图做一些简单的事情,但我做不到 我有这样一个数据框: 我想删除“数值”列中值为0的行。我尝试了一些函数,但返回错误o dind't remove any be,因为不是整行都是=0。总之,我需要删除具有数字类的列上等于0的行(即从sales month到expected sales,)。我如何做到这一点??(下面附上我期望的结果) PD:如果我可以使用一些函数,让我把列的编号而不是名称放进去(有时我有太多的列,名称太大了,哈哈),那就太好了 提前谢谢 这里是一个使用la

我是R世界的新手,我试图做一些简单的事情,但我做不到

我有这样一个数据框:

我想删除“数值”列中值为0的行。我尝试了一些函数,但返回错误o dind't remove any be,因为不是整行都是=0。总之,我需要删除具有数字类的列上等于0的行(即从sales month到expected sales,)。我如何做到这一点??(下面附上我期望的结果)

PD:如果我可以使用一些函数,让我把列的编号而不是名称放进去(有时我有太多的列,名称太大了,哈哈),那就太好了


提前谢谢

这里是一个使用
lappy
的简单解决方案

set.seed(5)
df <- data.frame(a=1:10,b=letters[1:10],x=sample(0:5,5,replace = T),y=sample(c(0,10,20,30,40,50),5,replace = T))
df <-df[!unlist(lapply(1:nrow(df), function(i) {
  any(df[i, ] == 0)
})), ]
set.seed(5)

嗨,埃莉亚!谢谢你的回答。这很奇怪,但是,当我使用您编写的代码时,数据帧仍然是相等的,也就是说,我观察环境,看到相同数量的行。您必须将操作分配给一个新变量或覆盖现有的data.frame。我编辑了我的答案