Невозможно использовать setDefaults на 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"

Я чувствую, что мне не хватает чего-то очевидного, но я действительно не могу этого найти.


person Paolo    schedule 13.07.2015    source источник


Ответы (1)


Это похоже на ошибку (либо в setDefaults, либо в importDefaults), и следующий код, кажется, создает запрос, который будет работать. Обратите внимание, что это не проверено, потому что у меня нет доступной базы данных 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)
person Joshua Ulrich    schedule 13.07.2015