R 获取每第 n 行的平均值

R getting mean for every nth row

是否有更优雅的方法来获取当前行与前 n 行的平均值?例如,

x=replicate(3, rnorm(20))

我想要的是获取每行第 2 列的平均值 + 之前的 2 行。我目前这样做的方法是 1) 创建一个空列 2) 遍历每一行并从前 2 行中获取值,意味着它,然后将其存储在新列中。这很乏味,所以我想知道是否有更清洁、更快的方法?提前致谢。阿迪

尝试filter - 你正在做的是滚动平均。

filter(x[,2], rep(1/3,3), sides=1)

多亏了 thelatemail,我想要的是滚动平均值。我找到了解决办法。

library(zoo)
x=replicate(3, rnorm(20))

rollapply(x[,2], 2, mean, na.pad = 1, align="right")