使用R中的多个变量对数据进行子集化

时间:2013-04-27 00:36:33

标签: r subset

我有一个包含许多变量的数据集DATA。 DATA具有列表模式,其类是data.frame。 我关心的变量是AGE.MONTHS和LOCATION。我需要将DATA子集化为另一个名为SUB的集合,并且我希望SUB仅包含AGE.MONTHS< = 2和LOCATION =“Area A”的观察值。 AGE.MONTHS有一个数字模式和类。 LOCATION有一个数字模式,它的类是一个因素。我试过以下,

SUB<-which((DATA$AGE.MONTHS <= 2 )& (DATA$LOCATION=="Area A"))

但这只能告诉我这些条件适用于哪些观察,我需要的是这些条件所适用的所有数据的子集。 谢谢你的帮助。

2 个答案:

答案 0 :(得分:4)

如果这是在程序中,您最好使用[而不是子集。例如,请参见此处:Why is `[` better than `subset`?

要使用[进行子集,您需要:

DATA[with(DATA, AGE.MONTHS <= 2 & LOCATION == "Area A"), ]

答案 1 :(得分:3)

使用subset功能。

subset(DATA, AGE.MONTHS <= 2 & LOCATION == "Area A")