如何在“调整后的R2 =”中标注2并从summary()导入值?
举个例子:
#Multiple linear regression model
nitrate<-SSwells[,6]
predictors<-SSwells[,9:31]
linear<-lm(nitrate~.,data=predictors)
summary(linear)
#Obs vs. predicted
obs <-nitrate
pred <-linear$fitted.values
obs.pred <- lm(obs~pred)
plot(obs~pred, main="Observed vs. Predicted \nMultiple Linear
Regression", xlim=c(0,14), ylim=c(0,14), ylab="Predicted Nitrate [mg L-1
NO3-N]", xlab="Observed Nitrate [mg L-1 NO3-N]")
abline(obs.pred)
通过一些搜索,我发现:
lgd <- bquote(R^2 == .(round(summary(obs.pred)$r.squared,3)))
legend("bottomright", legend=lgd)
给我一个R2上标2的图例,但当我将其修改为:
lgd <- bquote("Adjusted" R^2 == .(round(summary(obs.pred)$adj.r.squared,3)))
legend("bottomright", legend=lgd)
这样它可以说调整后的R2为新值我得到错误
Error: unexpected symbol in "lgd <- bquote("Adjusted" R"
我试过从调整后的引号中取出引号,不起作用。我试过在它前面放一个单引号,不起作用。我已经阅读了帮助文件和示例,我无法弄明白。
然后我尝试了:
text(2,12,expression(paste("Adjusted ", R^2, " =", sep = "")))
这是有效的,除了我无法弄清楚如何从摘要(obs.pred)$ adj.r.squared导入调整后的R2来超越=,如果我这样做:
text(2,12,expression(paste("Adjusted ", R^2, " =",
round(summary(actpred)$r.squared,3), sep = "")))
它只打印文本而不是实际值。
有一种简单的方法可以解决这个问题吗?