递归累积函数

标签 r

我需要在 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中实现吗?

最佳答案

由于您的递归是

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

IE。,
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]

关于递归累积函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11552686/

相关文章:

R:使用连接和栅格包从 gz 文件读取 GeoTiff

r - 计算矩阵中所有整数的出现次数

r - R:使用数据框中的列绘制多个箱形图

python - 如何使用Python或R对大数据进行聚类而不出现内存错误?

r - 错误消息中的括号导致 expect_error 测试失败

r - 通过匹配键合并R中的两个数据帧

r - 在具有已删除因子的数据帧上使用 speedglm

r - 尝试在 Kaggle 内核上运行 Rmd 文件时出错

r - 多组排名使用数据表包

r - 如何在 ggplot2 中为不同的图层使用不同的调色板?