为什么这么难?ggplot散点图上的p值和r平方

为什么这么难?ggplot散点图上的p值和r平方,r,ggplot2,scatter-plot,p-value,R,Ggplot2,Scatter Plot,P Value,我很感激在这个网站和其他地方有很多关于这类问题的答案。然而,我正在挣扎。对于像我这样一个相对较新的R皈依者来说,这些例子都不够清楚 问题是,请问,如何在ggplot散点图(理想情况下在右上角)中插入调整后的r平方和p值?为什么ggplot不能自动执行此操作 嗯。我想你需要我提供一些数据和可复制的代码。下面是: 首先,这里是数据(希望你能看到这一切)。希望您能看到它产生的曲线图(BDE-153浓度与蛋壳厚度): 此图I的统计输出通过以下代码得出: model_153_shell <- lm

我很感激在这个网站和其他地方有很多关于这类问题的答案。然而,我正在挣扎。对于像我这样一个相对较新的R皈依者来说,这些例子都不够清楚

问题是,请问,如何在ggplot散点图(理想情况下在右上角)中插入调整后的r平方和p值?为什么ggplot不能自动执行此操作

嗯。我想你需要我提供一些数据和可复制的代码。下面是:

首先,这里是数据(希望你能看到这一切)。希望您能看到它产生的曲线图(BDE-153浓度与蛋壳厚度):

此图I的统计输出通过以下代码得出:

model_153_shell <- lm (shell_thickness_mm ~ BDE_153_lw,
                       data = HG)

library (ggfortify)
autoplot (model_153_shell, smooth.colour = NA)
anova (model_153_shell)
summary(model_153_shell) ```
但我无法找到绕过这些警告信息的方法:

1: Unknown or uninitialised column: 'p'. 
2: Computation failed in `stat_compare_means()`:
argument "x" is missing, with no default```
谁能告诉我怎么修理这个吗?我理解,其他东西也可能被添加到绘图中,例如坡度和截距。然而,我们只需要p值和调整后的r平方


非常感谢

你就不能这样做吗


pval你就不能这样做吗


pval数据和绘图似乎没有显示,我不知道为什么一半的文本是代码格式,因为我在代码的开头和结尾都使用了```。如果你以一种在R会话中很容易复制的格式发布数据样本,这将有助于让其他人提供帮助。您可以复制
dput的输出(我的示例数据)
并将其粘贴到您的问题中。数据和绘图似乎没有显示出来,我不知道为什么一半的文本是代码格式的,因为我在代码的开头和结尾使用了“`”。如果您以一种可以在R会话中轻松复制的格式发布数据样本,这将有助于您让其他人提供帮助。您可以复制
dput(我的示例数据)
的输出并粘贴到您的问题中。非常感谢Allan。这太完美了。我以前从未见过这段代码,老实说,我不确定它到底是什么意思,或者说它正在做什么,但是它工作得非常好。干杯。很高兴听到@Mike989。我只是从
summary(model_153_shell)
(这是所有模型有用输出的列表)中抓取p值和r平方,然后将它们与字符串
p=
r^2=
粘贴在一起,以给出绘图上所需的标签。然后我用
geom\u text
打印这些标签。如果您发现这个答案解决了您的问题,请考虑将其标记为“接受”,以便其他类似问题的用户可以找到解决方案。谢谢,我这里有个问题。由上述Allan代码得出的r平方值产生的值为0.060。但是,我需要调整后的r平方,它显然是0.04。是否可以修改代码以生成调整后的r平方?Thanks@Mike_989在这种情况下,从模型中拉出
adj.r.squared
,而不是
r.squared
。如果要查看可以从模型摘要中提取的内容,请在控制台中键入
名称(摘要(model_153_shell))
。您可以通过在这些元素之前键入
summary(model\u 153\u shell)$
来获取其中任何一个元素。无论如何,我已经更新了答案。再次感谢艾伦的帮助!真的非常感谢艾伦。这太完美了。我以前从未见过这段代码,老实说,我不确定它到底是什么意思,或者说它正在做什么,但是它工作得非常好。干杯。很高兴听到@Mike989。我只是从
summary(model_153_shell)
(这是所有模型有用输出的列表)中抓取p值和r平方,然后将它们与字符串
p=
r^2=
粘贴在一起,以给出绘图上所需的标签。然后我用
geom\u text
打印这些标签。如果您发现这个答案解决了您的问题,请考虑将其标记为“接受”,以便其他类似问题的用户可以找到解决方案。谢谢,我这里有个问题。由上述Allan代码得出的r平方值产生的值为0.060。但是,我需要调整后的r平方,它显然是0.04。是否可以修改代码以生成调整后的r平方?Thanks@Mike_989在这种情况下,从模型中拉出
adj.r.squared
,而不是
r.squared
。如果要查看可以从模型摘要中提取的内容,请在控制台中键入
名称(摘要(model_153_shell))
。您可以通过在这些元素之前键入
summary(model\u 153\u shell)$
来获取其中任何一个元素。无论如何,我已经更新了答案。再次感谢艾伦的帮助!
lm(formula = shell_thickness_mm ~ BDE_153_lw, data = HG)
Residuals:
      Min        1Q    Median        3Q       Max 
-0.077587 -0.024053 -0.000609  0.026280  0.065558 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  3.447e-01  4.077e-03  84.543   <2e-16 ***
BDE_153_lw  -1.351e-05  6.332e-06  -2.133   0.0364 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.0327 on 71 degrees of freedom
Multiple R-squared:  0.06024,   Adjusted R-squared:  0.047 
F-statistic: 4.551 on 1 and 71 DF,  p-value: 0.03636```
require (ggpubr)
compare_means(shell_thickness_mm ~ BDE_153_lw, data = HG) # My real situation

g = ggplot(HG, 
           aes (x = BDE_153_ww, y = shell_thickness_mm)) +
  geom_point(size = 3) +
  ylab ("Eggshell thickness (mm)") +
  geom_smooth(method = 'lm', color = "blue") + # CHANGE TO BLACK FOR HG MS
  xlab ("BDE-153 (ng/g ww)") +
  theme_classic() 
  g + stat_compare_means() ############ Added p-value call. 

g+theme(axis.text=element_text(size=17, face = "bold", colour = 'black'),
        axis.title=element_text(size=21,face="bold", colour = 'black'),
        axis.ticks = element_line(colour = 'black', size = 2),
        axis.line = element_line(colour = 'black', size = 1))```
1: Unknown or uninitialised column: 'p'. 
2: Computation failed in `stat_compare_means()`:
argument "x" is missing, with no default```