我有一個數據幀,看起來像這樣:子集數據幀使用循環
----------
index ID date Amount
2 1001 2010-06-08 0
21 1001 2010-10-08 10
6 1002 2010-08-16 30
5 1002 2010-11-25 20
9 1003 2010-01-01 0
8 1003 2011-03-06 10
12 1004 2012-03-12 10
11 1004 2012-06-21 10
15 1005 2010-01-01 30
13 1005 2010-04-06 20
我想,這樣我有新的數據幀,一個用於這樣
每個ID子集這個數據index ID date Amount
2 1001 2010-06-08 0
21 1001 2010-10-08 10
和
6 1002 2010-08-16 30
5 1002 2010-11-25 20
等。
我不需要保存新的數據幀,但使用它來執行一些基本的計算。另外我想在我的整個表上做這個超過10000個ID,因此需要一個循環。我試過這個
temp <- data.frame(Numb=c(),Dt=c(),Amt=c())
for (i in seq_along(stNew$ID)){
temp[i,] <- subset(stNew, stNew[i,]==stNew$ID[i])
}
但這沒有奏效。有什麼建議麼?謝謝。
您好,歡迎來SO!我自發的建議是,你應該嘗試搜索SO(和其他地方)的答案。在數據框中對每個組執行某些操作是SO上最常見的問題之一,您一定會找到一些可以適應您自己的數據的很好的答案。 [This](http://stackoverflow.com/questions/3505701/r-grouping-functions-sapply-vs-lapply-vs-apply-vs-tapply-vs-by-vs-aggrega)and [this](http ://lamages.blogspot.se/2012/01/say-it-in-r-with-by-apply-and-friends.html)可能會讓你開始。乾杯。 – Henrik
Henrik - 謝謝。事實上,我通過搜索,發現了一對非常有用的情侶。感謝您的鏈接。 –
太棒了!因此,不需要分割或子集數據框。 – Henrik