谢谢你的帮助!我正在处理时间序列数据并尝试识别发生观察的计数,同时使用 R 中的 rollapply 函数。为了澄清,这里有一些代码:
# Sample Data
dates <- c("2014-01-01","2014-01-02","2014-01-03","2014-01-04","2014-01-05",
"2014-01-06","2014-01-07","2014-01-08","2014-01-09","2014-01-10")
data <- c(20,12,31,26,22,22,31,10,22,23)
xts.object <- as.xts(data,as.Date(dates))
# Apply 4-Day Min
rollMin <- rollapply(xts.object,4,min)
xts.object2 <- cbind(xts.object,rollMin)
# Desired Output
desiredOutput <- c(NA,NA,NA,3,4,1,2,1,2,3)
xts.object3 <- cbind(xts.object2,desiredOutput)
colnames(xts.object3) <- c("data","rollMin","desiredOutput")
desiredOutput 的前 3 个观察值是 NA,因为为 rollapply 函数选择的窗口大小设置为 4。在第 4 次观察中,最小值为 12,并且已经持续了 3 天,因此 desiredOutput 在 2014-01- 显示为 3 04.
再次感谢!