我正在尝试创建一个装袋算法。为此,我需要从整个时间序列中绘制随机块。我创建了一个包含随机块绘制的索引向量,但是当我想将它应用于我的动物园时间序列时,我得到了
In zoo(rval, index(x)[i]) :
some methods for “zoo” objects do not work if the index entries in ‘order.by’ are not unique
错误。因为采样使用替换,我得到多个具有相同时间戳的条目。我以某种方式尝试将数据转换为不包含时间戳的矩阵,但它并没有真正奏效。我也在控制台中手动尝试了同样的事情,我没有从动物园对象那里得到警告,但我真的不想解决抑制错误消息或类似的事情。
这将是相关代码的一部分:n = 样本大小,m = 块大小,b = 块数(因此 m*b=n)。Ypretest 和 Xpretest 被初始化为 zoo(但我也尝试了各种其他类型,也没有成功)
if (n%%m == 0) {
b <- n/m
while(tail(blockvector,n=1)+m < n) {
blockvector <- c(blockvector,tail(blockvector,n=1)+m)
}
randomvector <- sample(blockvector, b, replace=T)
for(i in 1:b) {
blockindex <- c(blockindex, randomvector[i]:(randomvector[i]+m-1))
}
Ypretest <- Y[blockindex]
Xpretest <- X[blockindex]
有什么建议么?