我想知道如何在ggplot上加上回归线方程和R^2.我的代码是:

library(ggplot2)

df <- data.frame(x = c(1:100))
df$y <- 2 + 3 * df$x + rnorm(100, sd = 40)
p <- ggplot(data = df, aes(x = x, y = y)) +
            geom_smooth(method = "lm", se=FALSE, color="black", formula = y ~ x) +
            geom_point()
p

任何帮助都将不胜感激.

推荐答案

这里有一个解决方案

# GET EQUATION AND R-SQUARED AS STRING
# SOURCE: https://groups.google.com/forum/#!topic/ggplot2/1TgH-kG5XMA

lm_eqn <- function(df){
    m <- lm(y ~ x, df);
    eq <- substitute(italic(y) == a + b %.% italic(x)*","~~italic(r)^2~"="~r2, 
         list(a = format(unname(coef(m)[1]), digits = 2),
              b = format(unname(coef(m)[2]), digits = 2),
             r2 = format(summary(m)$r.squared, digits = 3)))
    as.character(as.expression(eq));
}

p1 <- p + geom_text(x = 25, y = 300, label = lm_eqn(df), parse = TRUE)

编辑我找到了这段代码的来源.以下是在ggplot2谷歌群组发布的link条原始帖子

Output

R相关问答推荐

pdf Quarto中的中心美人鱼

分组时间连续值

如何使用文本表达来子集数据

更改网格的crs以匹配简单要素点对象的crs

跨列应用多个摘要函数:summerise_all:列表对象无法强制为double类型'

terra nearest()仅为所有`to_id`列返回NA

使用tidyverse方法绑定行并从一组管道列表执行左连接

pickerInput用于显示一条或多条geom_hline,这些线在图中具有不同 colored颜色

如何直接从R中的风险分数计算c指数?

我如何才能找到FAMILY=POISSON(LINK=&Q;LOG&Q;)中的模型预测指定值的日期?

对于变量的每个值,仅 Select 包含列表中所有值的值.R

为了网络分析目的,将数据框转换为长格式列联表

以相同的方式对每个表进行排序

在列表中排列R数据框中的列顺序

自定义gggraph,使geom_abline图层仅在沿x轴的特定范围内显示

'使用`purrr::pwalk`从嵌套的嵌套框架中的列表列保存ggplots时出现未使用的参数错误

远离理论值的伽马密度曲线下面积的近似

SHILINY中DT列的条件着色

填充图例什么时候会有点?

R-使用stri_trans_General()将其音译为德语字母