当我用ggplot绘图时,我试图使用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)
这会导致以下错误:
Error in eval(expr, envir, enclos) : object 'YMul' not found
似乎我无法在aes
中使用局部变量(或函数参数).这可能是因为当局部变量超出范围时,aes
的内容稍后被执行导致的吗?如何避免这个问题(除了不使用aes
以内的局部变量)?