2015-07-13 17 views
2

嘗試使用setDefaults時,我似乎做錯了什麼。如果我每一次我用getSymbols.MySQL時間進入每一個參數,它似乎很好地工作,但執行下列操作時,我得到一個錯誤:無法在quantmod上使用setDefaults

> setDefaults(getSymbols.MySQL, 
      user = 'root', 
      password = '********', 
      dbname = 'psedata', 
      db.fields = c("date", "open", "high", "low", "close", "volume", "adj"), 
      field.names = c("date", "open", "high", "low", "close", "volume", "adj"), 
      env = .GlobalEnv) 
> getSymbols('ALI', src = 'MySQL') 
Error in .local(conn, statement, ...) : 
    could not run statement: FUNCTION psedata.c does not exist 

但是,下面的工作:

> getSymbols.MySQL('ALI', 
     user = 'root', 
     password = '********', 
     dbname = 'psedata', 
     db.fields = c("date", "open", "high", "low", "close", "volume", "adj"), 
     field.names = c("date", "open", "high", "low", "close", "volume", "adj"), 
     env = .GlobalEnv) 
[1] "ALI" 

我覺得像我我失去了一些明顯的東西,但我真的找不到它。

回答

0

這看起來像一個錯誤(在setDefaultsimportDefaults),並且下面的代碼似乎產生一個可以工作的查詢。請注意,這是未經測試的,因爲我沒有可用的MySQL數據庫。

setDefaults(getSymbols.MySQL, 
    user = 'root', 
    password = '********', 
    dbname = 'psedata', 
    db.fields = quote(c("date", "open", "high", "low", "close", "volume", "adj")), 
    field.names = quote(c("date", "open", "high", "low", "close", "volume", "adj")), 
    env = .GlobalEnv) 
+0

謝謝,這工作。 – user5111109