2015-10-15 101 views
1

我有一个xts对象,我想聚合数据 - 同时保留日期。聚合xts对象时保留日期

wLn = apply(dLn, 2, to.weekly) 

> head(wLn) 
     AAPL   GSPC   VIX 
[1,] -0.05602066 -0.0252409007 0.01903172 
[2,] -0.03609222 -0.0111470571 0.13182832 

我试过使用索引来转换日期,无济于事。

+1

来自同'xts'包使用'apply.weekly'功能。 – 2015-10-15 04:48:27

+0

我已经尝试过使用,to.period和其他变体。 weekly = apply.weekly(dLn,FUN = index,dLn,as.POSIXlt(format(time(dLn)),tz =“”))如果在整个对象上执行它,当然日期聚合很好。 – BorgmanC

+0

我不明白你的评论,对不起。 – 2015-10-15 05:05:54

回答

0

由于Pascal commented,您可以使用apply.weekly来汇总您的退货(我使用下面的period.apply,因为它是一个通用的解决方案)。您使用的汇总函数将取决于您的退货计算方式。

require(xts) 
set.seed(21) 
x <- xts(matrix(rnorm(60, 0, 0.01), ncol=2), Sys.Date()-30:1) 
# weekly endpoints 
wep <- endpoints(x, "weeks") 
# log returns 
period.apply(x, wep, colSums) 
# arithmetic returns 
period.apply(x, wep, function(x) apply(1+x,2,prod)-1)