波士顿数据集,基于值的多个过滤器

时间:2014-02-19 15:42:20

标签: r filter subset multiple-columns data-extraction

我是初学者。我正在使用MASS包中的波士顿数据集。我想应用一个过滤器来获取变量“chas”的值为1 / TRUE且变量“age”的值大于50.0的记录

我试过了:

> boston2<-subset(Boston, chas>0, age>50.0)
> boston2

我得到的结果是: 0列和35行的数据框

但是,我希望所有记录中chas为true且数据框中的age大于50。

我可以使用哪些替代方法?如何将过滤扩展到3/4 /任意数量的变量。

1 个答案:

答案 0 :(得分:1)

您需要使用各种逻辑运算符连接不同的标准:

subset(Boston, chas > 0 & age > 50.0)

阅读?Logic了解详情。

subset的文档指定第二个参数subset必须是单个逻辑表达式。当您用逗号分隔它们时,R将它们解释为完全不同的参数,而不是单个表达式。

您的尝试相当于:

subset(Boston, subset = chas > 0, select = age > 50.0)

所以你得到“所有行但没有列”。