我有一个名称和值的数据集,例如
Date Name Value
01/01/17 Miles ran 1.2
02/01/17 Miles ran 1.2
03/01/17 Miles ran 1.3
04/01/17 Miles ran 1.4
05/01/17 Miles ran 1.4
06/01/17 Miles ran 1.6
07/01/17 Miles ran 1.5
08/01/17 Miles ran 1.8
09/01/17 Miles ran 1.7
10/01/17 Miles ran 2.1
01/01/17 Calories consumed 2300
02/01/17 Calories consumed 2200
03/01/17 Calories consumed 2250
04/01/17 Calories consumed 2410
05/01/17 Calories consumed 1980
06/01/17 Calories consumed 2000
07/01/17 Calories consumed 1900
08/01/17 Calories consumed 2400
09/01/17 Calories consumed 2150
10/01/17 Calories consumed 1900
我希望能够对数据运行各种计算,例如能够对面板数据中每个单独时间序列(已定义的日期)的数据运行forecast()函数。
但是,我不确定如何使用子集循环。例如我必须每次都为子集定义名称引用,而宁愿通过循环来实现这一点,该循环依次运行每个子集的计算。
这是我目前的代码:
listofids=as.character(unique(mydata$Name))
mylist1 <- split(mydata, mydata$Name)
mylist1
df1<-data.frame(mylist[1])
listofids=as.character(unique(mydata$Name))
mylist2 <- split(mydata, mydata$Name)
mylist2
df2<-data.frame(mylist[2])
forecast(df1$Value,h=365-Number_of_Days)
我们的想法是将面板数据划分为单独的数据集,然后进行预测。但是,如上所示,我需要为每个单独的数据框运行单独的预测,并希望将其循环。任何帮助将不胜感激。
答案 0 :(得分:0)
使用plyr,你应该按&#34; Name&#34;然后使用mutate
。
my.summaries <- ddply(mydataedited, .(Name), mutate, cumeValue = cumsum(Value))
Name Value cumeValue
1 Apple 41 41
2 Apple 22 63
3 Apple 11 74
4 Apple 13 87
5 Apple 37 124
6 Apple 26 150
7 Apple 13 163
8 Apple 45 208
9 Apple 31 239
10 Banana 9 9
11 Banana 10 19
12 Banana 11 30
13 Banana 17 47
14 Banana 10 57
15 Banana 24 81
16 Banana 27 108
17 Banana 25 133
18 Banana 28 161
19 Banana 34 195
20 Banana 46 241