私はパーセント変化のRに動物園のオブジェクトを持っています。1 または 100 から始まるこれらのパーセント変化を合成して、拡大/減衰が合成されているかどうかを確認したいと思います。
Lines <- "obs date pctchng comgrowth
1 2010-10-04 NA 100
2 2010-10-01 .15 NA
3 2010-09-30 .14 NA
4 2010-09-29 -.05 NA
5 2010-09-28 -.12 NA
6 2010-09-27 .07 NA
7 2010-09-24 -.15 NA
8 2010-09-23 .186 NA
9 2010-09-22 .01 NA
10 2010-09-21 .03 NA
11 2010-09-20 -.03 NA"
data <- read.zoo(textConnection(Lines), header=TRUE, index=2)
startobs <- 1
for (i in 1:100) {
data[startobs+i,"comgrowth"] <- data[startobs+i-1,"comgrowth"] *
(1+data[startobs+i,"pctchng"])
}
簡単に表示できるようにデータを単純化していますが、これが私がやろうとしている考えです。足し算/引き算/割り算/掛け算のときに問題があることに気付きました。なんとなく言えるdata[startobs+i,"comgrowth"]=data[startobs+i-1,"comgrowth"]
けど…
とは言えませんdata[startobs+i,"comgrowth"]=data[startobs+i-1,"comgrowth"]+data[startobs+i-2,"comgrowth"]
。R では +/-/* などを追加できず、このエラーが発生します
Error in NextMethod("[<-") : replacement has length zero
これは純粋で単純な構文の問題です。私が間違っていることを誰かが知っていますか?