5

R で累積合計関数を作成する必要がありますが、レンガの壁にぶつかっています。関数の構造は次のとおりです。

a*x1
a*x2 + a^2*x1
a*x3 + a^2*x2 + a^3*x1
a*x4 + a^2*x3 + a^3*x2 + a^4*x1

等々。cumsum は、このタイプの関数では機能しないようです。これをRで実装する方法はありますか?

4

1 に答える 1

10

あなたの再帰は

u[n+1] = a * ( x[n+1] + u[n] )

つまり、

u[n+1]/a = x[n+1] + a * u[n]/a,

あなたが使用することができますfilter:

x <- 1:5
a <- 2
a*filter(1:5, a, method="recursive")

# Compare with the expected values
a*x[1]
a*x[2] + a^2*x[1]
a*x[3] + a^2*x[2] + a^3*x[1]
a*x[4] + a^2*x[3] + a^3*x[2] + a^4*x[1]
于 2012-07-19T01:31:59.837 に答える