You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中实现迭代计算数据集的累计平均值

R语言实现从第2个数据点开始的累计均值计算

直接基于R内置的cumsum()累计求和函数实现即可,运算效率远高于手动循环,代码如下:

# 构造示例数据集
D <- c(1, 2, 3, 4, 5, 6)
# 计算从第2个数据点开始的累计均值
Average <- cumsum(D)[2:length(D)] / 2:length(D)

运行后输出的Average结果为1.5 2.0 2.5 3.0 3.5,和示例要求完全匹配。

实现逻辑说明

  • cumsum(D)会返回数据集的累计求和序列,示例中返回结果为1 3 6 10 15 21
  • 取cumsum(D)的第2位到最后一位,对应前2个到前N个数据的总和
  • 用求和结果除以对应的样本量(2到数据集总长度),即可得到对应累计均值

如果需要复用该逻辑,可以封装为自定义函数:

calc_cumavg_from2 <- function(data) {
  if (length(data) < 2) {
    stop("输入数据集长度不能小于2,无法计算前2个数据的均值")
  }
  cumsum(data)[2:length(data)] / 2:length(data)
}

# 调用测试
calc_cumavg_from2(c(1, 2, 3, 4, 5, 6))

内容的提问来源于stack exchange,提问作者Aziz Ghazi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 17:48:04