将新列添加到XTS对象中

时间:2013-10-25 21:41:16

标签: r xts quantmod

嗨:我有一个xts对象:

           AAPL.Open AAPL.High AAPL.Low AAPL.Close AAPL.Volume AAPL.Adjusted
2013-09-09    505.00    507.92   503.48     506.17    12116200        506.17
2013-09-10    506.20    507.45   489.50     494.64    26490200        494.64
2013-09-11    467.01    473.69   464.81     467.71    32031600        467.71
2013-09-12    468.50    475.40   466.01     472.69    14409400        472.69

我尝试计算滚动均值并将其附加到新列

AA["AAPL.Rolling"] <- rollmean(AA[,"AAPL.Adjusted"],12)

虽然rollmean(AA[,"AAPL.Adjusted"],12)可以自行运作;我尝试附加到新列时收到错误消息。 **这也很难让新的滚动意味着每行都没有数据,因为前12个应该是“NA”任何人都可以帮忙吗?非常感谢你。

1 个答案:

答案 0 :(得分:13)

您不能将列添加到zoo / xts对象中。您可以使用$<-功能。

AA$AAPL.Rolling <- rollmean(AA[,"AAPL.Adjusted"], 12)

另请注意,rollmean默认为居中对齐。您可能希望使用rollmeanr来进行右对齐。由于您正在将滚动平均值与原始对象合并,因此将自动填充NA。如果您希望fill=NA明确添加,请使用rollmean