Ich versuche, eine lokale Variable in aes
zu verwenden, wenn ich mit ggplot plotten. Das ist mein Problem zum Wesen eingekocht:Lokale Variablen Innerhalb aes
xy <- data.frame(x=1:10,y=1:10)
plotfunc <- function(Data,YMul=2){
ggplot(Data,aes(x=x,y=y*YMul))+geom_line()
}
plotfunc(xy)
Diese in den folgenden Fehlern führt:
Error in eval(expr, envir, enclos) : object 'YMul' not found
Es scheint, als ob ich nicht auf lokale Variablen (oder Funktionsargumente) in aes
verwenden kann. Könnte es sein, dass es aufgrund des Inhalts von aes
später ausgeführt wird, wenn die lokale Variable außerhalb des Geltungsbereichs ist? Wie kann ich dieses Problem vermeiden (abgesehen davon, dass die lokale Variable aes
nicht verwendet wird)?
Ich denke, weil es immer noch erwartet, dass die Ymul zu überliefern, aber sie geben nur plotfunc (xy) – zhan2383
nicht wahr ist, sollte es verwenden, die Standardwert – baptiste
Ich führe den Code oben und bekomme keinen Fehler (23 Oktober 2017), gab es ein Update auf '' ggplot2'' um zu erklären, warum das jetzt funktionieren würde? – PatrickT