2017-03-11 12 views
2

を生成する次のコードをRで簡略化できるかどうか疑問に思っています(おそらくapply、seqなどを使用します)。その目的は、ある年度の指数が前年度の値である倍率のインフレ指数を時系列に作成することです。あなたは複利を探しているなら(私たちは現在の年が含まれているため0:5ここで要素xn = f(xn-1)

#i,l and r are the initial value, length and rate, respectively 

    while (i<l){ 
     res<-c(res, (res[i-1] * (r + 1))) 
     i<-i+1 
    } 
+1

悪いコード。 「ell」を「one」と誤解するのは簡単です。正しい行動の後に、可読性を第2の優先順位にする必要があります。 – duffymo

+0

全く役に立たない、元の質問を参照してください – Schwartz

答えて

1

は、あなたが簡単に言う次の5年間のインデックスのベクトルを生成することができます。そして、私たちは毎年、当社の現在の値100をインクリメントしたいにより因子(5%または1.05を)取る、そして指数あるインデックスのベクトルにベースとして累乗でそれを使用します。

# i*(1+r)^(0:l) becomes 
100 * 1.05^(0:5) 
# [1] 100.0000 105.0000 110.2500 115.7625 121.5506 127.6282 
+0

パーフェクト、投稿していただきありがとうございます。 – Schwartz

関連する問題