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

Logical Argument: Removing Rows according to multiple conditions

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

我认为这行得通:

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

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

谢谢!

您可以尝试使用 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 ')