【发布时间】:2016-10-14 12:04:03
【问题描述】:
我有一个包含 900 列 (x1-x900) 每日值的 xts 对象,我需要将其计算为每月收益。
x <- data.frame(date=seq(as.Date("2016/7/4"), as.Date("2016/10/1"), "day"),x1=runif(90,.95,1.07),x2=runif(90,.95,1.07),
x3=runif(90,.95,1.07),x4=runif(90,.95,1.07),x5=runif(90,.95,1.07),x6=runif(90,.95,1.07),x7=runif(90,.95,1.07))
以上是我正在处理的数据示例。我需要做的是获取每个月的值的乘积,对于每一列,对于 2016 年 7 月 31 日、2016 年 8 月 31 日、2016 年 9 月 30 日等。我不想使用 @987654322 @ 因为每个月的长度显然不是固定的。我已经尝试过汇总、汇总,但我还没有弄清楚这一点,并且我试图避免必须执行“for”循环。
最终目标是获得data.frame,例如:
Date x1 x2 x3 x4
7/31/16 1.03 0.98 1.01 1.03
8/31/16 1.01 0.95 1.03 1.01
9/30/16 0.97 1.02 0.94 0.98
10/31/16 0.99 0.98 1.01 1.04
【问题讨论】: