无法在 quantmod 上使用 setDefaults

Unable to use setDefaults on quantmod

我在尝试使用 setDefaults 时似乎做错了什么。如果我每次使用 getSymbols.MySQL 时都输入每个参数,它似乎工作正常但在执行以下操作时出现错误:

> 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"

我觉得我错过了一些明显的东西,但我真的找不到。

这看起来像是一个错误(在 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)