如何计算R中的移动平均线?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何计算R中的移动平均线?相关的知识,希望对你有一定的参考价值。

我想为重叠的世代计算移动平均值。例如。 1915年的值应包括1900-1930年的平均值,1916年的值应为1901-1931年的平均值,依此类推。我编写了以下函数和循环:

calc_mean = function(data_frame, yr, time_generation)
  df_MM = data_frame %>% 
  filter(yr >= year & yr < year + time_generation) %>% 
  summarize(school_mean = mean(school, na.rm = TRUE)) %>% 
  mutate(year = year + gen_interval/2)

return(df_MM)

time_generation = 30;

# Preallocation
df_mean = data.frame()


for(year in seq(from = 1900, to = 2000, by = 1))

  df_MM = calc_mean(df_school, yr = year, time_generation)

  df_mean = rbind(df_mean, df_MM)


remove(df_MM)

但是,如果我对一个小样本进行交叉检查,则会得到错误的值。看到我的错误了吗?

答案
假设您的数据没有间隙,

以上是关于如何计算R中的移动平均线?的主要内容,如果未能解决你的问题,请参考以下文章

R中的累积和、移动平均线和SQL“分组依据”等价物

移动平均线计算不正确

如何计算postgres的指数移动平均线?

熊猫移动平均线[重复]

在python中计算指数移动平均线

如何使用mongodb mapreduce计算简单移动平均线?