2012-10-17 255 views
1

我正在嘗試編寫一個程序,該程序將採用股票符號的.csv文件,並針對協調等事情對彼此進行測試。然而,當我運行下面的代碼時,quatnmod給了我一些關於不得不爲多個符號請求使用auto.assign = TRUE的問題。getSymbols錯誤,多個符號請求必須使用auto.assign = TRUE

getprices<-function(sym){ 
    #get prices from last 7 years 
    prices<-getSymbols(sym, from = Sys.Date() - (365*7), auto.assign=FALSE) 
    #exract closing prices 
    prices<-Cl(prices) 

    return(prices)} 


symbols1 <- c('TSN', 'MSFT') 
symbols2 <- c('AAPL', 'NFLX') 

container<-c() 
addprices <- function(symbols1, symbols2){ 
    for (i in symbols1){ 
    for (g in symbols2){ 
     i<-getprices(i) 
     g<-getprices(g) 
     container <- i+g 
     } 
    } 
    return(container) 
    } 

當我運行addprices(symbols1,symbols2)我得到這個錯誤:

Error in getSymbols(sym, from = Sys.Date() - (365 * 7), auto.assign = FALSE) : 
    must use auto.assign=TRUE for multiple Symbols requests 
Calls: addprices -> getprices -> getSymbols 

我知道我這樣做的時候,我應該得到這個錯誤,我相信這是錯誤的指到:

getSymbols(sym, from = Sys.Date() - (365 * 7), auto.assign = FALSE) 

但是,我在做什麼不是,所以是什麼給?有什麼建議?有沒有解決辦法?

我使用了這個功能,但實際上並沒有任何相關的問題/答案。

回答

2

問題是,您正在覆蓋g for循環中的迭代器ig的第一次迭代工作正常,但在第二次迭代中i不再是symbols1[1] ...它是從getprices(i)的輸出。

+0

這樣做。謝謝! – user1613119

+0

@ user1613119:如果這回答了您的問題,請考慮將其標記爲(如[我如何在此提問?](http://stackoverflow.com/faq#howtoask)[FAQ]部分中的要求http://stackoverflow.com/faq))。 –

相關問題