R语言ggplot图中分行显示拟合公式、R平方值和P值
在ggplot中可以使用annotate函数将拟合公式、R平方值和P值添加到图表中,并使用换行符' '将它们分行显示。
下面是一个例子:
library(ggplot2)
# 创建一个数据框
df <- data.frame(x = 1:10, y = c(2, 3, 5, 6, 8, 9, 12, 14, 17, 19))
# 绘制散点图并添加拟合曲线
p <- ggplot(df, aes(x, y)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE)
# 提取拟合公式、R平方值和P值
eq <- paste("y = ", round(coef(lm(y ~ x, df))[2], 2), "x + ", round(coef(lm(y ~ x, df))[1], 2), sep = "")
r2 <- round(summary(lm(y ~ x, df))$r.squared, 2)
pval <- round(summary(lm(y ~ x, df))$coefficients[2, 4], 2)
# 在图表中添加标注
p + annotate("text", x = 3, y = 18, label = paste("拟合公式: ", eq, "\nR2 = ", r2, "\np值 = ", pval), size = 5, hjust = 0)
运行代码后,会得到如下图表:

可以看到,拟合公式、R平方值和P值已经成功地分行显示在了图表中。
原文地址: https://www.cveoy.top/t/topic/nfjO 著作权归作者所有。请勿转载和采集!