Rollapply用于填充向量(在头部和尾部)

Rollapply用于填充向量(在头部和尾部),r,vector,padding,zoo,rollapply,R,Vector,Padding,Zoo,Rollapply,我想使用rollapply在滚动窗口上应用函数。我的问题与rollapply的头部和尾部行为有关。显然,对于宽度为3的中心窗口,有趣的参数只能从第二个窗口开始应用,并在倒数第二个窗口结束 例如: a<-1:10 rollapply(a, width=3, FUN=identity) arollapply有fill=和partial=参数,也可以通过函数处理,还有na.fill可以将值扩展到两端的NAs中。如果您经常使用zoo对象,那么首先就不需要填充,因为您可以组合不同长度的zoo对象。

我想使用rollapply在滚动窗口上应用函数。我的问题与rollapply的头部和尾部行为有关。显然,对于宽度为3的中心窗口,有趣的参数只能从第二个窗口开始应用,并在倒数第二个窗口结束

例如:

a<-1:10
rollapply(a, width=3, FUN=identity)

arollapply有fill=和partial=参数,也可以通过函数处理,还有na.fill可以将值扩展到两端的NAs中。如果您经常使用zoo对象,那么首先就不需要填充,因为您可以组合不同长度的zoo对象。对于问题中的特定填充,这里的方法似乎还可以。
a<-c(a[1],a,a[length(a)])
rollapply(a, width=3, FUN=identity)
width <- 3
a<-c(rep(a[1],times = (width-width%%2)/2),a,rep(a[length(a)],times = (width-width%%2)/2))
rollapply(a, width=3, FUN=identity)