2013-10-25 35 views
8

Merhaba içine yeni bir sütun ADD: Ben gibi bir XTS nesne var:bir XTS nesnesi

  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 

Bir haddeleme demek hesaplamak ve bu tür

AA["AAPL.Rolling"] <- rollmean(AA[,"AAPL.Adjusted"],12) 
olarak yeni bir sütun ekleyin deneyin

rollmean(AA[,"AAPL.Adjusted"],12) kendi kendine çalışmasına rağmen; Yeni bir sütuna eklemeye çalıştığımda bir hata mesajı alıyorum. ** bunu da zorlaştıran şey, ilk haddeleme “NA” olması gerektiğinden, yeni haddeleme ortalamasının her satırda veri olmayacağıdır. Çok teşekkürler.

+0

Denenen çözümünüz hiçbir anlam ifade etmiyor. “rnorm (12, AA)”, rastgele bir normal dağılıma ait 12 gözlemi "ortalama = AA [1: 12,1]" ve sd = 1 ile verir. Bu bir haddeleme ortalamasına bile yakın değil. Ve bir hayvanat bahçesi nesnesini xts nesnesinin bir sütunu olarak eklemeye mi çalışıyorsunuz? Neden bunun işe yarayacağını düşünüyorsun? –

+0

@JoshuaUlrich, benim kötü - Orijinalimi düzenledim – Ahdee

cevap

13

Bu şekilde zoo/xts nesnelerine sütun ekleyemezsiniz. Ancak $<- işlevini kullanabilirsiniz.

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

Ayrıca rollmean hizalanmış varsayılan olarak olduğuna dikkat. Sağa hizalamak için rollmeanr'u kullanmak isteyebilirsiniz. NA ile doldurma otomatik olarak gerçekleşir, çünkü orijinal nesneyle yuvarlanan ortalaması birleştirirsiniz. Açıkça eklemek için rollmean istiyorsanız fill=NA kullanın.

+0

Bu mükemmel; rollmean ile bile bir sorun bekliyordu! – Ahdee

+0

, Josh'un bu xts nesnelerine bir karakter vektörü ekleme hakkındaki görüşlerini bilmek ister. Yani bir char sütunu ve bir int/numeric sütunu olur. – d8aninja

+0

@ d8aninja: Bu, xts nesneleri matris sınıfına dayalı olduğundan ve bir matristeki farklı türlerde sütunlara sahip olamayacağınız için bu mümkün değildir. Dedi ki, bir "xtsdf" sınıfı ile bazı deneyler olmuştur. –