2012-07-12 51 views
0

我有一個數據框與不同的變量,我想使用一些條件從這個數據框中建立不同的子集,我想使用一個循環,因爲會有很多的子集,這會節省大量的時間。使用循環計算子集

這是條件:

變量A具有用於一個區域的ID,變量B具有不同的物種(1,2,3等),並且我想計算與這些列不同子集。每個子集的名稱應該是一個點的ID,並且這個點上的內容應該是所有特定物種的個體。

爲了更好地理解:

這將是一個子集的代碼,我想用一個循環

A_2_NGF_Abies_alba <- subset(A_2_NGF, subset = Baumart %in% c("Abies alba")) 

這是可能的R中做

感謝

+0

你可以提供一個小[重複性(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)的例子嗎? – johannes 2012-07-12 12:36:01

+2

如果他們是不相交的子集,你最好使用'split'。 – James 2012-07-12 12:36:24

+0

你需要以不同的方式說出你的問題,所以我們知道什麼阻止你。你想知道如何從你的數據框的名稱和一些變量名稱構建字符串'A_2_NGF_Abies_alba'?你想知道如何遍歷數據幀ID名稱嗎?等等 – 2012-07-12 12:52:46

回答

1

這對你有幫助嗎?

Baumdaten <- data.frame(pointID=sample(c("A_2_SEF","A_2_LEF","A_3_LEF"), 10, T), Baumart=sample(c("Abies alba", "Betula pendula", "Fagus sylvatica"), 10, T)) 

split(Baumdaten, Baumdaten[, 1:2]) 
+0

這dosent幫助我,因爲我需要的所有數據仍然可用的子集... – burton030 2012-07-12 14:09:31