我是来自MatLab的R/ggplot新手.
我想使用ggplot创建一个函数,在图上打印线性回归方程(在图中 添加回归线方程和R2中讨论).但是在这里,我试图用它来构建一个函数但是没有成功.
我一直收到错误 - "eval中的错误(expr,envir,enclos):找不到对象'标签'".
一种解决方法是在函数之外定义"label"变量,但我只是不明白为什么这不起作用.
有谁能解释为什么?
df <- data.frame(x = c(1:100))
df$y <- 2 + 3 * df$x + rnorm(100, sd = 40)
f <- function(DS, x, y, z) {
label <- z
print(label)
ggplot(DS, aes(x=x, y=y)) +
geom_point() +
labs(y=y) +
labs(title=y) +
xlim(0,5)+
ylim(0,5)+
geom_smooth(method="lm", se=FALSE)+
geom_text (aes(x=1, y=4, label=label))
}
f(df, x, y, "aaa") #execution line
Run Code Online (Sandbox Code Playgroud)