嗨:我有一个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”任何人都可以帮忙吗?非常感谢你。
答案 0 :(得分:13)
您不能将列添加到zoo / xts对象中。您可以使用$<-
功能。
AA$AAPL.Rolling <- rollmean(AA[,"AAPL.Adjusted"], 12)
另请注意,rollmean
默认为居中对齐。您可能希望使用rollmeanr
来进行右对齐。由于您正在将滚动平均值与原始对象合并,因此将自动填充NA
。如果您希望fill=NA
明确添加,请使用rollmean
。