Der folgende Code den Fehler erzeugt:Quandl Argument Fehler in 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")
Beide Aufrufe an die Funktion erzeugen, den gleichen Fehler. Wenn ich debuggen scheint es das Argument, eine der Optionen gemäß folgender ist:
Browse[1]> arg==choices[1] [1] TRUE
ich diese Quandl Funktion problemlos viele Male verwendet haben. Jede Hilfe wird geschätzt. Ich denke das Problem ist offensichtlich und ich vermisse es immer noch. Dies ist nur eine vereinfachte Version dessen, was ich tatsächlich versuche, um den Fehler zu konzentrieren.
Mit R Version 3.1.2 Quandl Version 2.8.0
Die Fehlermeldung ziemlich klar zu sein scheint. Ich weiß nicht, warum du denkst, dass ein Objekt namens 'choices' etwas damit zu tun hat. Wenn Sie den Standard Ihres Transformationsarguments 'diff' angeben, erhalten Sie eine Fehlermeldung, die besagt, dass es keine Übereinstimmung für 'kollabieren' gibt, und wenn Sie das beheben, erhalten Sie die erwartete Ausgabe. Wählen zu schließen als zu trivial für eine Antwort. –
@ 42 Ich bin froh, dass es dir klar ist. Bitte teilen Sie ein bisschen mehr von Ihrer Weisheit. Die Anweisung Quandl (code = "GOOG/AMEX_EEM", type = "rohe", transform = "") erzeugt den Fehler 'arg' sollte einer von "", "diff", "rdiff", "normalize", "cumul" sein "," Rdiff_from ". Warum ist "" nicht gültig? In diesem Fall möchte ich keine Transformation. Ich verstehe, dass ich diese Anweisung ohne den Parameter aufrufen könnte, aber ich versuche eine Funktion zu erstellen, die den Transformationsparameter durchläuft. Vielen Dank. – rmacey
Es besagt, dass das Argument "transform" eine dieser Möglichkeiten sein sollte und Sie "transform" einen Wert "" gegeben haben. Ihr Anruf hat keinen Wert übergeben, um ihn zu transformieren. Eric LeCoutre und Macey gaben zwei verschiedene Lösungen, die beide einen Sinn ergeben. Eine dritte Lösung besteht darin, einfach die Transformation aus dem Quandl-Aufruf zu entfernen, und Sie erhalten den Standardwert für diesen Parameter. –