2013-10-25 16 views
8

こんにちはに新しい列を追加します:私は、次のようなXTSオブジェクトを持っている:は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

あなたの試行した解決策は意味をなさない。 'rnorm(12、AA)'は 'mean = AA [1:12,1]'とsd = 1のランダム正規分布からの12の観測値を与えます。それはローリングの平均にも近くない。そして、あなたは動物園のオブジェクトをxtsオブジェクトの列として追加しようとしていますか?なぜそれはうまくいくと思いますか? –

+0

@JoshuaUlrich、私の悪い - 私は私のオリジナルを編集しました – Ahdee

答えて

13

このようなzoo/xtsオブジェクトには列を追加できません。あなたは$<-機能を使用することができます。

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

また、デフォルトではrollmeanは中央揃えです。右揃えにするには、rollmeanrを使用するとよいでしょう。 NAのパディングは、元のオブジェクトとローリング平均をマージしているため、自動的に行われます。 rollmeanに明示的に追加したい場合は、fill=NAを使用してください。

+0

これは完璧です;ロールミーンの問題も予期していました! – Ahdee

+0

は、これらのxtsオブジェクトに文字ベクトルを追加するというJoshの意見を知りたいと考えました。 1つのchar列と1つのint/numeric列があります。 – d8aninja

+0

@ d8aninja:xtsオブジェクトは行列クラスに基づいており、行列に異なる型の列を持つことはできません。つまり、「xtsdf」クラスでいくつかの実験が行われています。 –

関連する問題