我有一个数据帧,看起来像这样:子集数据帧使用循环
----------
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