Próbuję użyć zmiennej lokalnej w aes
, kiedy działam z ggplotem. To jest mój problem sprowadza się do istoty:Zmienne lokalne w ramach 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)
Powoduje następującego błędu:
Error in eval(expr, envir, enclos) : object 'YMul' not found
Wydaje się, że nie mogę używać zmiennych lokalnych (lub argumenty funkcji) w aes
. Czy to możliwe, że występuje z powodu zawartości aes
wykonywanych później, gdy zmienna lokalna jest poza zakresem? Jak mogę uniknąć tego problemu (poza używaniem zmiennej lokalnej w ramach aes
)?
myślę ponieważ nadal oczekuje, aby przejść w dół Ymul ale tylko dać plotfunc (XY) – zhan2383
nieprawda, powinno ono wykorzystać domyślna wartość – baptiste
Używam powyższego kodu i nie otrzymuję żadnego błędu (23 października 2017 r.), czy była aktualizacja "ggplot2", aby wyjaśnić, dlaczego to zadziała? – PatrickT