【发布时间】:2020-11-09 08:38:10
【问题描述】:
我需要绘制很多变量。在每个图中,我想自动将来自线性回归模型的信息放在图的左上角。
以 mtcars 数据集为例,我想要一段我可以使用的代码,无论我使用什么变量,它都能从图表左上角的线性回归模型中得到 R2 和 p 值互相勾结。我已经制定了一个解决方案,我在标题中绘制了 R2 和 P,但由于我需要另一个标题,所以它不是最佳的。
ggplotRegression <- function (fit) {
require(ggplot2)
ggplot(fit$model, aes_string(x = names(fit$model)[2], y = names(fit$model)[1])) +
geom_point() +
stat_smooth(method = "lm", col = "red") +
labs(title = paste("Adj R2 = ",signif(summary(fit)$adj.r.squared, 1),
" P =",signif(summary(fit)$coef[2,4], 1)))
}
disp_vs_wt_cyl4 <- mtcars %>%
filter(cyl=="4")
ggplotRegression(lm(disp ~ wt, data = disp_vs_wt_cyl4)) +
geom_point(size = 3.74, colour = "#0c4c8a") +
theme_bw()
【问题讨论】: