在向量中的连续组上应用函数
Apply function over consecutive groups in vector
我想计算三个连续变量的测量值一个向量。
例如:
Vec<-rep(1:10)
我希望输出类似于下面的屏幕截图:
我们可以使用 gl
创建一个分组变量,然后使用 ave
得到 mean
ave(Vec, as.numeric(gl(length(Vec), 3, length(Vec))))
您可以创建以下函数来计算 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
我想计算三个连续变量的测量值
例如: Vec<-rep(1:10)
我希望输出类似于下面的屏幕截图:
我们可以使用 gl
创建一个分组变量,然后使用 ave
mean
ave(Vec, as.numeric(gl(length(Vec), 3, length(Vec))))
您可以创建以下函数来计算 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