我有一个数据点的 csv 文件(例如财务报价、实验记录等),并且我的数据有重复的时间戳。这是演示问题的代码:
library(zoo);library(xts)
csv="2011-11-01,50
2011-11-02,49
2011-11-02,48
2011-11-03,47
2011-11-03,46
2011-11-03,45
2011-11-04,44
2011-11-04,43
2011-11-04,42
2011-11-04,41
"
z1=read.zoo(textConnection(csv),sep=',')
w1=to.weekly(z1)
ep=endpoints(z1,"weeks",1)
w1$Volume=period.apply(z1,ep,length)
z2=read.zoo(textConnection(csv),sep=',',aggregate=T)
w2=to.weekly(z2)
ep=endpoints(z2,"weeks",1)
w2$Volume=period.apply(z2,ep,length)
vignette('zoo-faq'),条目 1,告诉我 aggregate=T 摆脱了 zoo 烦人的警告信息。但随后结果发生了变化:
> w1
z1.Open z1.High z1.Low z1.Close Volume
2011-11-04 50 50 41 41 10
> w2
z2.Open z2.High z2.Low z2.Close Volume
2011-11-04 50 50 42.5 42.5 4
是否有另一种方法可以摆脱警告消息但仍然获得与 w1 相同的结果?(是的,我知道suppressWarnings(),这是我以前使用的,但我讨厌这个想法。)(我想知道将自定义聚合函数传递给read.zoo,它将返回每天的OHLCV数据......但如果可能的话,甚至无法解决。)