2013-04-27 70 views
1

我有一個數據集DATA,其中包含許多變量。 DATA有一個列表模式,它的類是一個data.frame。 我關心的變量是AGE.MONTHS和LOCATION。我需要將DATA子集合到另一個名爲SUB的集合中,並且我希望SUB僅包含AGE.MONTHS < = 2和LOCATION =「Area A」的觀察值。 AGE.MONTHS有一個數字模式和類。 LOCATION有一個數字模式,其類是一個因素。我曾嘗試以下,使用R中的多個變量對數據進行子集化

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

但這只是告訴我,它的觀測條件都成立了真,我需要的是所有這些條件都成立的數據的一個子集。 感謝您的幫助。

回答

2

使用subset功能。

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

哈,謝謝!我實際上有點尷尬,我沒有親自來過這個! – 2013-04-27 00:42:33

+0

沒什麼好尷尬的:)。 R的學習曲線比一些其他語言的曲線要快,但是一旦你學會了,它就非常強大。 – 2013-04-27 00:43:49

+0

我嘗試了子集,但是使用這個代碼:SUB <-subset(DATA,subset = AGE> MONTHS <= 2和subset = LOCATION ==「Area A」)。[這是直接從R manual,BTW] When它不起作用,我只是認爲這不是正確的做法。 – 2013-04-27 00:43:54

4

如果這是在程序中,您最好使用[子集。例如,在這裏看到:Why is `[` better than `subset`?

要與[集,你想這樣:

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