2013-10-25 19 views
8

Ciao: Ho un oggetto XTS come tale:aggiungere una nuova colonna in un oggetto 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 

cerco di calcolare un rotolamento media e collegarlo a una nuova colonna come tale

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

Sebbene il rollmean(AA[,"AAPL.Adjusted"],12) lavori autonomamente; Viene visualizzato un messaggio di errore quando tento di collegarlo a una nuova colonna. ** anche ciò che rende questo difficile è che la nuova media rotolante non avrà dati in ogni riga dal momento che i primi 12 dovrebbero essere "NA" Qualcuno può aiutare? Grazie mille.

+0

La tua tentata soluzione non ha alcun senso. 'rnorm (12, AA)' fornisce 12 osservazioni da una distribuzione normale casuale con 'mean = AA [1: 12,1]' e sd = 1. Non è nemmeno vicino a una media mobile. E stai cercando di aggiungere un oggetto zoo come colonna di un oggetto xts? Perché pensi che dovrebbe funzionare? –

+0

@JoshuaUlrich, il mio male - Ho modificato il mio originale – Ahdee

risposta

13

Non è possibile aggiungere colonne agli oggetti zoo/xts in questo modo. È tuttavia possibile utilizzare la funzione $<-.

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

Si noti inoltre che rollmean è allineato al centro per impostazione predefinita. Si consiglia di utilizzare rollmeanr per ottenere allineamento a destra. Il riempimento con NA avverrà automaticamente, poiché si sta unendo la media mobile con l'oggetto originale. Utilizzare fill=NA se si desidera aggiungere rollmean in modo esplicito.

+0

Questo è perfetto; addirittura anticipato un problema con rollmean! – Ahdee

+0

interessati a conoscere l'opinione di Josh sull'aggiunta di un vettore di caratteri a questi oggetti xts. quindi avresti una colonna char e una colonna int/numerica .... – d8aninja

+0

@ d8aninja: Questo non è possibile perché gli oggetti xts sono basati sulla classe matrix e non puoi avere colonne con tipi diversi in una matrice. Detto questo, c'è stata qualche sperimentazione con una classe "xtsdf". –

Problemi correlati