是否有更优雅的方法来获得当前到第n行的平均值?例如,
x=replicate(3, rnorm(20))
我想要的是获得每行+ 2行的第2列的平均值。我目前这样做的方法是1)创建一个空列2)遍历每一行并从前两行获取值,表示它,然后将其存储在新列中。这很乏味,所以我想知道是否有更干净,更快的方法?提前致谢。 ahdee
答案 0 :(得分:2)
尝试filter
- 你正在做的是一个滚动的意思。
filter(x[,2], rep(1/3,3), sides=1)
答案 1 :(得分:2)
感谢thelatemail我想要的是一个滚动的意思。我找到了解决方案。
library(zoo)
x=replicate(3, rnorm(20))
rollapply(x[,2], 2, mean, na.pad = 1, align="right")