逻辑参数:根据多个条件删除行

时间:2015-01-11 23:28:51

标签: r

我有一个包含多列的数据集。我想从集合中取出满足两个条件的行。

我认为这样可行:

CarS< - CarS [CarS $ CylCode!= 17&& CarS $ ECode!= 191,]

但这会取出满足任一条件的所有行,并且我希望满足这两个条件才能删除该行?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以尝试使用sqldf,虽然这不是最优雅的答案:

library("sqldf")

CarS<-sqldf('
   select *
   from CarS
   where
      (CylCode <> 17 and
       ECode <> 191 )
  ')

第二种方法

CarS[setdiff(rownames(CarS),rownames(toremove )),]

toremove <-sqldf('
    select *
    from CarS
        where CylCode = 17 and ECode = 191 ')