2015-02-15 25 views
6

ho usato getSymbols per ottenere dati di stock, e ha restituito qualcosa di simile:Ottenere colonna della data da XTS oggetto

> require(quantmod) 
> getSymbols(AAPL) 
> head(AAPL) 
      AAPL.Open AAPL.High AAPL.Low AAPL.Close 
2007-01-03  86.29  86.58 81.90  83.80 
2007-01-04  84.05  85.95 83.82  85.66 
2007-01-05  85.77  86.20 84.40  85.05 
2007-01-08  85.96  86.53 85.28  85.47 
2007-01-09  86.45  92.98 85.15  92.57 
2007-01-10  94.75  97.80 93.45  97.00 
> str(AAPL) 
An ‘xts’ object on 2007-01-03/2015-02-23 containing: 
    Data: num [1:2049, 1:6] 86.3 84 85.8 86 86.5 ... 
- attr(*, "dimnames")=List of 2 
    ..$ : NULL 
    ..$ : chr [1:6] "AAPL.Open" "AAPL.High" "AAPL.Low" "AAPL.Close" ... 
    Indexed by objects of class: [Date] TZ: UTC 
    xts Attributes: 
List of 2 
$ src : chr "yahoo" 
$ updated: POSIXct[1:1], format: "2015-02-24 17:12:45" 

Come posso ottenere le date? Sembra che le date non siano nei dati. AAPL[1,1] restituisce:

  AAPL.Open 
2009-01-02  85.88 

E rownames(AAPL) restituisce NULL. Che cosa sta succedendo qui? In che modo le date sono associate al resto dell'oggetto? Come ottengo le date?

+1

Perché è contrassegnato come duplicato @Joshua Ulrich? Una persona nuova a non saprebbe quale indice è e cercherebbe una domanda simile a questa. Il link alla domanda "originale" ha di per sé la parola "indice". – Apurv

risposta

7

getSymbols non restituisce un valore data.frame per impostazione predefinita; restituisce un oggetto xts. Gli oggetti xts non hanno nomi di riga. Hanno un attributo di indice a cui è possibile accedere con la funzione index.

+0

Grazie mille – NewbieDave