R合并每日返回到月平均值//两个不同长度的data.frames

时间:2016-11-23 13:48:51

标签: r merge data.table

我已计算出按月计算的输出,现在我想将平均每日回报合并到此输出中。

我的数据与此类似:

Df1
ID  YMD    R 
1 20160101 1.01
1 20160103 1.02
2 20160101 .98
2 20160103 1.03

Df2
ID YM  Rm 
1 201601 
2 201601

现在我想使用平均回报公式计算列Rm,这是月内回报乘积的第n个根。

我试过了,但是没有用:

df3 <- merge(df1, df2)
setDT(df3)[, Rm := (prod(df3$R)^(1/.N)), by = c(df3$ID, df$YM)]

编辑:

列Rm应该导致

Rm
(1.01*1.02)^(1/2)= 1.014987685
(0.98*1.03)^(1/2)= 1.004689007

然而,月份的日期(此处= 2)应该是可变的,因为整个时间序列中的天数不是恒定的

0 个答案:

没有答案