Следующий код выдает ошибку:Quandl ошибка аргумент в R
Error in match.arg(transform) : 'arg' should be one of “”, “diff”, “rdiff”, “normalize”, “cumul”, “rdiff_from” Called from: match.arg(transform)
library(Quandl)
std_chart<-function(qcode, type="raw", transform= "", collapse="", logscale="",
main="", xlab="", ylab="", recession_shading=TRUE, hline="",
trend=""){
data<-Quandl(code=qcode,type=type,transform=transform,collapse=collapse)
return(data)
}
std_chart(qcode="FRED/GDP",
logscale="log10",
main="Gross Domestic Product (GDP) Value",
ylab="Billions of Dollars")
std_chart(qcode="FRED/GDP",
transform="",
logscale="log10",
main="Gross Domestic Product (GDP) Value",
ylab="Billions of Dollars")
Обе вызовы функции производят ту же ошибку. Когда я отладка, кажется, аргумент один из вариантов на следующее:
Browse[1]> arg==choices[1] [1] TRUE
Я использовал эту функцию Quandl много раз без проблем. Любая помощь оценивается. Я думаю, что проблема очевидна, и я все еще пропущу ее. Это просто упрощенная версия того, что я на самом деле пытаюсь сделать, чтобы сосредоточиться на ошибке.
Использование R версии 3.1.2 Quandl версия 2.8.0
сообщения об ошибке, кажется, достаточно ясно. Я не знаю, почему вы думаете, что объект с именем «выборы» имеет какое-то отношение к этому. Если вы делаете по умолчанию свой аргумент преобразования «diff», вы получаете сообщение об ошибке, говорящее, что нет совпадения «свернуть», и если вы исправите это, вы получите ожидаемый результат. Голосование закрывается как слишком тривиальное для ответа. –
@ 42 Я рад, что это ясно для вас. Пожалуйста, поделитесь немного больше своей мудрости. Утверждение Quandl (code = "GOOG/AMEX_EEM", type = "raw", transform = "") приводит к ошибке «arg» должно быть одним из «», «diff», «rdiff», «normalize», «cumul» "," Rdiff_from ". Почему нет "", чтобы пройти? В этом случае я не хочу никакого преобразования. Я понимаю, что я могу вызвать этот оператор без параметра, но я пытаюсь построить функцию, которая проходит через параметр преобразования. Спасибо. – rmacey
В нем говорится, что аргумент «transform» должен быть одним из этих вариантов, и вы дали «преобразовать» значение ». Ваш вызов не передал значение для преобразования. EricLeCoutre и Macey дали два разных решения, оба из которых имеют смысл. Третье решение - просто удалить «transform = transform» из вызова Quandl, и вы получите значение по умолчанию для этого параметра. –