【发布时间】:2015-10-10 16:40:14
【问题描述】:
【问题讨论】:
-
1:3 值的平均值如何得到 1.5
-
我不知道。我一定在excel中做错了什么。我想要 1:3、4:7、8:10...
-
好像你想要
zoo::rollmean(1:15, 2)
【问题讨论】:
zoo::rollmean(1:15, 2)
您可以创建以下函数来按 3 组(或任何其他数字)计算平均值:
f <- function(x, k=3)
{
for(i in seq(k,length(x),k))
x[(i/k)] <- mean(x[(i-k+1):i])
return(x[1:(length(x)/k)])
}
f(1:15) [1] 2 5 8 11 14
【讨论】:
我们可以用gl创建一个分组变量,然后用ave得到mean
ave(Vec, as.numeric(gl(length(Vec), 3, length(Vec))))
【讨论】:
Vec <- 1:10 如果您想获得 5 个连续值的平均值,请将 gl 更改为 gl(length(Vec), 5, length(Vec))