我使用stat_poleq在图形上显示了计算出的线性方程,但显示的结果与实际结果相差很大.实际坡度不能大于0.5. 有人能帮我改正这个错误吗? ​

以下是我的数据:

df<-structure(list(Variety = c("Sultana - MG 000", "ES Pallador - MG I", 
"Isidor - MG I", "Santana - MG I/II", "Blancas - MG II", "Ecudor - MG II"
), FTSWt2017 = c(0.54, 0.47, 0.41, 0.18, 0.25, 0.18), FTSWt2021 = c(0.32, 
0.27, 0.35, 0.29, 0.22, 0.32)), class = c("tbl_df", "tbl", "data.frame"
), row.names = c(NA, -6L))

下面是我的代码:

library(ggplot2)
library(ggpmisc)
library(ggrepel)
library(stringr)
library(stats)
ggplot(df, aes(x = FTSWt2017, y = FTSWt2021)) +
  geom_point(aes(color = Variety)) +
  geom_smooth(method = "lm", formula = 'y ~ x', se=FALSE,color="black") +
  geom_abline(intercept = 0, slope = 1, color="gray", 
              linetype="dashed", size=0.5)+
  (
    aes(label = paste(
      gsub(
        '\\.',
        "*paste('.')*",
        str_replace_all(after_stat(eq.label), "\\.([0-9])[0-9]", "\\.\\1")
      ),
      gsub('\\.', ".", after_stat(rr.label)),
      sep = "*plain(\";\")~~"
    )))

以下是输出图:

enter image description here

推荐答案

由于您想要将显示的系数四舍五入为两位数,我认为最简单的方法是设置output.type="numeric",这将使您可以访问包含系数的tibble,这将使您更容易获得所需的结果,而不是操作plotmath字符串:

library(ggplot2)
library(ggpmisc)

ggplot(df, aes(x = FTSWt2017, y = FTSWt2021)) +
  geom_point(aes(color = Variety)) +
  geom_smooth(method = "lm", formula = "y ~ x", se = FALSE, color = "black") +
  geom_abline(
    intercept = 0, slope = 1, color = "gray",
    linetype = "dashed", size = 0.5
  ) +
  stat_poly_eq(
    aes(label = after_stat(
      paste0(
        "italic(y)~`=`~", round(b_0, 2), "+", round(b_1, 2), "*italic(x)",
        "*`,`~italic(R)^2~`=`~", round(r.squared, 2)
      )
    )),
    output.type = "numeric",
    parse = TRUE
  )

R相关问答推荐

将带有范围的字符串转换为R中的数字载体

R形式的一维数字线/箱形图样式图表

如何删除多个.CSV文件的行

在垂直轴中包含多个ggplot2图中的平均值

格点中指数、双曲和反双曲模型曲线的正确绘制

我不能在docker中加载sf

在组中添加值增加和减少的行

使用列/行匹配将两个不同维度的矩阵相加

无法正确设置动态创建的Quarto标注的格式

Ggplot2中geom_tile的动态zoom

为什么我使用geom_density的绘图不能到达x轴?

将多个列值转换为二进制

仅当后续值与特定值匹配时,才在列中回填Nas

在R中的数据框上使用Apply()函数时,如何保留非数字列?

是否可以将线性模型的p值添加到tbl_summary中

在生成打印的自定义函数中,可以通过变量将线型或 colored颜色 设置为NULL吗?

在不重复主题的情况下重新排列组

如何修改GT表中组名行的 colored颜色 ?

如何在一种 colored颜色 中设置数值变量的 colored颜色 和高于阈值的 colored颜色 点?

在R中,有没有什么方法可以根据一列中的多个值来过滤行?