2017-07-14 11 views
0

私は名前と値のデータセットを持っています。Rのループ内でforecast()を実行したいですか?

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 

私は、このような(日付はすでに定義されている)パネルデータにおける各個別の時系列のデータで予測()関数を実行することができることなど、データ上の各種演算を実行できるようにしたいです。

ただし、サブセットを使用してループする方法は不明です。例えば私は毎回サブセットの名前参照を定義しなければならず、むしろ各サブセットの計算を順番に実行するループによってこれを実現します。

これは私の現在のコードです:

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

'plyr'とループの代わりに' dplyr'を使用することを考えましたか? –

答えて

0

plyrを使用すると、「名前」でグループ化してから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 
関連する問題