如何在For循环中使用window()函数?(右)
我想创建一个时间序列的滚动窗口。总样本长度为756个观察值,我想创建长度为260个观察值的496个窗口: 第一窗口:1-260 第二窗口:2-261如何在For循环中使用window()函数?(右),r,for-loop,R,For Loop,我想创建一个时间序列的滚动窗口。总样本长度为756个观察值,我想创建长度为260个观察值的496个窗口: 第一窗口:1-260 第二窗口:2-261 最后一个窗口:496-755我将使用rollapply,假设您想要在滚动窗口上引入您想要应用的特定函数(例如平均值) 注意,如果您想要与原始数据相同的长度,显然必须在开始时添加Nas,200是宽度,因此在您的情况下是260。我尝试了数据[I:260+I-1],但它给了我错误数据[I:260+I-1,]非常接近。您可能需要数据[i:(260+i-1)
最后一个窗口:496-755我将使用rollapply,假设您想要在滚动窗口上引入您想要应用的特定函数(例如平均值)
注意,如果您想要与原始数据相同的长度,显然必须在开始时添加Nas,200是宽度,因此在您的情况下是260。我尝试了数据[I:260+I-1],但它给了我错误
数据[I:260+I-1,]
非常接近。您可能需要数据[i:(260+i-1),]
感谢您的快速响应。问题是R在数学函数中将“i”识别为非数值参数。我还尝试了window(data,start=i,end=260+i-1)命令。但是,这给了我奇怪的结果如果您想在开始时添加NAs,请使用library(zoo);rollappyr(1:1000260,均值,fill=NA)
或者如果您希望在开始时使用部分均值rollappyr(1:1000260,均值,partial=TRUE)
library(zoo)
rollapply(c(1:1000),200,mean)