For ループ ステートメントを使用せずに累積暖房度日を計算するにはどうすればよいですか? 私はRが初めてで、これを行う方法がよくわかりません。
私はこれをしたい:
for(i in 1:nrow(df)) {
df$cumHDD <- df$HeatingDegreeDay[i] + df$cumHDD[i-1]
i <- i+1
}
以下は私のデータです。
SiteID SubstrateID WinterID Date HeatingDegreeDay cumHDD
1 NW_SB B 2002_2003 2002-11-01 0.0000000 0
2 NW_SB B 2002_2003 2002-11-02 0.0000000 0
3 NW_SB B 2002_2003 2002-11-03 0.0000000 0
4 NW_SB B 2002_2003 2002-11-04 0.0000000 0
5 NW_SB B 2002_2003 2002-11-05 0.0000000 0
6 NW_SB B 2002_2003 2002-11-06 0.0000000 0
7 NW_SB B 2002_2003 2002-11-07 0.0000000 0
8 NW_SB B 2002_2003 2002-11-08 0.0000000 0
9 NW_SB B 2002_2003 2002-11-09 0.0000000 0
10 NW_SB B 2002_2003 2002-11-10 0.0000000 0
11 NW_SB B 2002_2003 2002-11-11 0.0000000 0
12 NW_SB B 2002_2003 2002-11-12 0.0000000 0
13 NW_SB B 2002_2003 2002-11-13 0.0000000 0
14 NW_SB B 2002_2003 2002-11-14 0.0000000 0
15 NW_SB B 2002_2003 2002-11-15 0.0000000 0
16 NW_SB B 2002_2003 2002-11-16 0.0000000 0
17 NW_SB B 2002_2003 2002-11-17 0.0000000 0
18 NW_SB B 2002_2003 2002-11-18 0.0000000 0
19 NW_SB B 2002_2003 2002-11-19 0.3724242 0
20 NW_SB B 2002_2003 2002-11-20 0.0000000 0
21 NW_SB B 2002_2003 2002-11-21 0.0000000 0
22 NW_SB B 2002_2003 2002-11-22 0.0000000 0
23 NW_SB B 2002_2003 2002-11-23 0.2773077 0
24 NW_SB B 2002_2003 2002-11-24 0.2679310 0
25 NW_SB B 2002_2003 2002-11-25 0.0000000 0
したがって、上記の私のデータでは、正しく行われると、次のようになります。
SiteID SubstrateID WinterID Date HeatingDegreeDay cumHDD
1 NW_SB B 2002_2003 2002-11-01 0.0000000 0
2 NW_SB B 2002_2003 2002-11-02 0.0000000 0
3 NW_SB B 2002_2003 2002-11-03 0.0000000 0
4 NW_SB B 2002_2003 2002-11-04 0.0000000 0
5 NW_SB B 2002_2003 2002-11-05 0.0000000 0
6 NW_SB B 2002_2003 2002-11-06 0.0000000 0
7 NW_SB B 2002_2003 2002-11-07 0.0000000 0
8 NW_SB B 2002_2003 2002-11-08 0.0000000 0
9 NW_SB B 2002_2003 2002-11-09 0.0000000 0
10 NW_SB B 2002_2003 2002-11-10 0.0000000 0
11 NW_SB B 2002_2003 2002-11-11 0.0000000 0
12 NW_SB B 2002_2003 2002-11-12 0.0000000 0
13 NW_SB B 2002_2003 2002-11-13 0.0000000 0
14 NW_SB B 2002_2003 2002-11-14 0.0000000 0
15 NW_SB B 2002_2003 2002-11-15 0.0000000 0
16 NW_SB B 2002_2003 2002-11-16 0.0000000 0
17 NW_SB B 2002_2003 2002-11-17 0.0000000 0
18 NW_SB B 2002_2003 2002-11-18 0.0000000 0
19 NW_SB B 2002_2003 2002-11-19 0.3724242 0.3724242
20 NW_SB B 2002_2003 2002-11-20 0.0000000 0.3724242
21 NW_SB B 2002_2003 2002-11-21 0.0000000 0.3724242
22 NW_SB B 2002_2003 2002-11-22 0.0000000 0.3724242
23 NW_SB B 2002_2003 2002-11-23 0.2773077 0.6497319
24 NW_SB B 2002_2003 2002-11-24 0.2679310 0.9176629
25 NW_SB B 2002_2003 2002-11-25 0.0000000 0.9176629
ddply
ステートメント内でこれを行うことはできますか? 他にもやるべき機能がいくつかあったので、上記を a 内で行うのもいいと思いましたddply
。