我正在尝试计算移动窗口的一些统计数据,并在动物园包中使用 rollapply 。我的问题是如何让 rollapply 将该函数应用于前 n 个观察值,而不是当前观察值和前 n-1 个观察值,就像align right 似乎所做的那样。
require(zoo)
z <- data.frame(x1=11:111, x2=111:211, x3=as.Date(31:131))#generate data
output<-data.frame(dates=z$x3,
rollapply(z[,1:2],by.column=TRUE, 5, max, fill=NA, align='right'))
我有预感,这是由 ?rollapply 回答的“如果 width 是一个普通的数字向量,则其元素被视为与对齐一起解释的宽度,而如果 width 是一个列表,则其组件被视为偏移量。在上述情况下,如果width 的长度为 1,则 width 会在每个点上循环使用。如果 width 是一个列表,则其组件表示整数偏移量,使得列表的第 i 个组件引用位置 i + width[[i]] 处的时间点”。但我不知道这对于 R 代码意味着什么,也没有提供任何示例。
没关系,我破译了“帮助”。添加参数width
to rollapply
像这样:
width=list(-1:-5)
完成它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)