使用R码的移动平均

使用R码的移动平均,r,R,我需要R代码的第一部分是关于: 编写一个执行以下操作的R函数:给定一个N的序列xN=(x1;x2;…;xN) 观察值时,该函数返回移动平均值向量,其中计算每个平均值 连续观察k次。将函数命名为ma,其参数为 向量xN和k 到目前为止,我所拥有的: x <-vector(length=n) ma <- function(x,k){ x0 <- x[1:(length(x)-k)] x1 <- x[(1+k):length(x)] cor(x0, x1) } x有很多计算

我需要R代码的第一部分是关于:

编写一个执行以下操作的R函数:给定一个N的序列xN=(x1;x2;…;xN) 观察值时,该函数返回移动平均值向量,其中计算每个平均值 连续观察k次。将函数命名为ma,其参数为 向量xN和k

到目前为止,我所拥有的:

x <-vector(length=n)

ma <- function(x,k){
x0 <- x[1:(length(x)-k)]
x1 <- x[(1+k):length(x)]
cor(x0, x1)
}

x有很多计算移动平均线的方法

在base r中,这可以工作

filter(x, rep(1/2,2)) #this calculates moving average of 2 numbers in a sequence
filter(x, rep(1/3,3))  #this calculates moving average of 3 numbers in a sequence
对于k个连续观测值

filter(x, rep(1/k,k))
e、 g


我还没学过filter、zoo或rollmean,所以也许我应该避免使用它们。@Keris这么说基本上你只是想修改你的家庭作业?@RichardScriven没有。我想说的是我想知道我在哪里犯了错误。我没有要求你修改我的硬件作业,这很公平。
zoo:::rollmean.zoo
的源代码可能对您的计算有所帮助。@jalapic非常感谢您。顺便说一句,我需要找到对象“k”,你能给我一个提示吗?我想知道当你的家庭作业要求计算移动时,为什么你要使用相关性average@RichardScriven谢谢
x <- c(3,5,7,3,4,2,6,4,7,2,1,9, 1, 10, 1,12)
filter(x, rep(1/2,2))
# [1] 4.0 6.0 5.0 3.5 3.0 4.0 5.0 5.5 4.5 1.5 5.0 5.0 5.5 5.5 6.5  NA
runMean(x,2) #gives rolling mean of every 2 consecutive observations
runMean(x,k) #gives rolling mean of every k consecutive observations