在删除满足特定条件的行的同时对数据帧进行子集

时间:2014-07-11 20:29:02

标签: r dataframe subset

我想要数据框的子集。大多数时候,通过保持在其变量中满足某些条件的观察并减少其余部分来减少原始数据帧 工作代码是:

Companies.Exchanges.1 <- subset(Companies.Exchanges.0,
                                (Frankfurt == 1 & London == 1))

我想以相反的方式做到这一点:删除所有符合某些条件的观察,并在新的数据框中保留其余的 - 这违反了最后一个条件。 我如何重新制定上述代码呢?

1 个答案:

答案 0 :(得分:1)

尝试否定您的过滤条件!

Companies.Exchanges.1 <- subset(Companies.Exchanges.0,
                            !(Frankfurt == 1 & London == 1))

当您为子集指定过滤条件时,或者通常,R会获取所有行并根据您设置的条件对其进行检查。可以把它想象为向数据帧添加另一个布尔向量,其中匹配条件= TRUE,而不是匹配= FALSE。的!运算符会反转这个不可见的向量。