13

嗨:我有一个这样的 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”有人可以帮忙吗?非常感谢。

4

1 回答 1

16

你不能像这样向 zoo/xts 对象添加列。您可以使用该$<-功能。

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

另请注意,rollmean默认情况下是中心对齐的。您可能想使用rollmeanr来获得右对齐。填充NA将自动发生,因为您将滚动平均值与原始对象合并。fill=NA如果要rollmean显式添加它们,请使用。

于 2013-10-25T22:06:22.443 回答