2015-08-05 4 views
2

очень новой для программирования в R - но я озадачен на это один:R - quantmod, как ссылаться на getsymbol данные позже в сценарии

Я хотел бы только ввести данные запас символов один раз в сценарии , но не может понять, как ссылаться, т. е. скорректировать закрытие позже с помощью Ad (x) без необходимости повторного ввода имени запаса. Я попытался пропускание переменного, как показано ниже, но и получать сообщения об ошибках:

#get stock series data 
stockPair <- c("SPY","DIA") 
look_per <- "2015-01-01" 
stckA <- suppressWarnings(getSymbols(stockPair[1], from = look_per)) 
stckB <- suppressWarnings(getSymbols(stockPair[2], from = look_per)) 

#get Adjusted close data 
adA <- Ad(stckA) 
adB <- Ad(stckB) 


Error in Ad(stckA) : 
    subscript out of bounds: no column name containing "Adjusted" 

ответ

0

Первое, что вы должны делать, когда вы получите ошибку, чтобы посмотреть на ваши данных. В этом случае stckA и stckB не так, как вы думаете.

R> stckA <- suppressWarnings(getSymbols(stockPair[1], from = look_per)) 
R> stckB <- suppressWarnings(getSymbols(stockPair[2], from = look_per)) 
R> str(stckA) 
chr "SPY" 
R> str(stckB) 
chr "DIA" 

Как вы можете видеть, эти два объекта являются только строки символов символов, возвращаемых getSymbols, а не данных. Вы должны установить auto.assign=FALSE, если вы хотите присвоить объект getSymbols объекту.

R> stckA <- getSymbols(stockPair[1], from = look_per, auto.assign = FALSE) 
R> str(Ad(stckA)) # now stckA contains data 
An ‘xts’ object on 2015-01-02/2015-08-05 containing: 
    Data: num [1:149, 1] 204 200 198 200 204 ... 
- attr(*, "dimnames")=List of 2 
    ..$ : NULL 
    ..$ : chr "SPY.Adjusted" 
    Indexed by objects of class: [Date] TZ: UTC 
    xts Attributes: 
List of 2 
$ src : chr "yahoo" 
$ updated: POSIXct[1:1], format: "2015-08-05 20:02:30" 
+0

@ trock2000: поместите их в среду и используйте 'eapply', чтобы извлечь список, который вы хотите. Существует несколько примеров того, как это сделать в StackOverflow. –

Смежные вопросы