我不明白为什么 R 会警告我“更长的对象长度不是更短的对象长度的倍数”
我有这个对象,它是通过对 xts 系列进行聚合生成的,给出工作日中位数:
u <- aggregate(d, list(Ukedag = format(index(d),"%w")), median)
1 314.0
2 282.5
3 270.0
4 267.0
5 240.5
然后我尝试将它应用到我原来的 xts 系列中,看起来像这样(只有更长的时间)
head(d)
2009-01-02 116
2009-01-05 256
2009-01-06 286
使用:
coredata(d) <- coredat(d) - u[format(index(d),"%w")];
这会导致警告。
目的是减去工作日平均值。尽管有警告,它似乎仍然有效,但我应该担心什么?
修改后的解决方案:尝试 2
apply.daily(d, function(x) coredata(x) - u[format(index(x), "%w")] )
我确实有一个严重的错误。这不会给出任何警告,我通过以下方式对其进行了测试:
apply.daily(d, function(x) u[format(index(x), "%w")] )
然后检查一些日期,它似乎与日历一致。