绘制回归(基数)
继续 mtcars
示例,这是一个简单的方法来生成可能适合发布的线性回归图。
首先拟合线性模型和
fit <- lm(mpg ~ wt, data = mtcars)
然后绘制两个感兴趣的变量并在定义域中添加回归线:
plot(mtcars$wt,mtcars$mpg,pch=18, xlab = 'wt',ylab = 'mpg')
lines(c(min(mtcars$wt),max(mtcars$wt)),
as.numeric(predict(fit, data.frame(wt=c(min(mtcars$wt),max(mtcars$wt))))))
差不多了! 最后一步是在图中添加回归方程,rsquare 以及相关系数。这是使用 vector
函数完成的:
rp = vector('expression',3)
rp[1] = substitute(expression(italic(y) == MYOTHERVALUE3 + MYOTHERVALUE4 %*% x),
list(MYOTHERVALUE3 = format(fit$coefficients[1], digits = 2),
MYOTHERVALUE4 = format(fit$coefficients[2], digits = 2)))[2]
rp[2] = substitute(expression(italic(R)^2 == MYVALUE),
list(MYVALUE = format(summary(fit)$adj.r.squared,dig=3)))[2]
rp[3] = substitute(expression(Pearson-R == MYOTHERVALUE2),
list(MYOTHERVALUE2 = format(cor(mtcars$wt,mtcars$mpg), digits = 2)))[2]
legend("topright", legend = rp, bty = 'n')
请注意,你可以通过调整矢量函数来添加任何其他参数,例如 RMSE。想象一下,你想要一个包含 10 个元素的图例。矢量定义如下:
rp = vector('expression',10)
你需要定义 r[1]
….到 r[10]
这是输出: