如何将R^2和P值添加到R中的ggplot?

如何将R^2和P值添加到R中的ggplot?,r,ggplot2,regression,R,Ggplot2,Regression,我用以下代码创建了一个图形: ggplot(data.frame,aes(x=分数,y=年份,col=位置))+ 几何平滑(method=“lm”,se=FALSE) 图如下图所示。如果可能的话,我想将Pearson r值和P值添加到随附的标签表或图表上的新表中?添加P值比Pearson r值更重要。有人能帮我吗 再现性数据样本: Year Position Score 2010 QB 16.5 2011 QB 15.4 2012 QB

我用以下代码创建了一个图形:

ggplot(data.frame,aes(x=分数,y=年份,col=位置))+
几何平滑(method=“lm”,se=FALSE)

图如下图所示。如果可能的话,我想将Pearson r值和P值添加到随附的标签表或图表上的新表中?添加P值比Pearson r值更重要。有人能帮我吗

再现性数据样本:

Year   Position   Score
2010   QB         16.5
2011   QB         15.4
2012   QB         16.1
2013   QB         14.3
2014   QB         13.8
2010   RB         14.2
2011   RB         13.9
2012   RB         13.9
2013   RB         11.8
2014   RB         11.6
2010   WR         11.4
2011   WR         12.4
2012   WR         10.4
2013   WR         8.8
2014   WR         9.7

查看
ggpmisc::stat\u fit\u glance()

如果没有一个可复制的示例,我无法给出一个完美的代码,但它应该是这样的

library(ggpmisc)
ggplot(data.frame, aes(x=Score, y=Year, col=position_new.y)) +
geom_smooth(method="lm", se=FALSE) +
stat_fit_glance(method = 'lm', geom = 'text', aes(label = paste0('p = ', round(..p.value.., 3))), label.x.npc = 0.4, label.y.npc = 1) + 

添加一些示例数据使之成为一个更好的想法,我意识到拥有所有位置将是太多的样本数据,所以我只做了三个位置测试!我添加了一个可重复的示例我在if(is.弃权(数据)| |空(数据))返回(cbind(数据,PANEL=integer(0)):缺少需要真/假的值在您的情况下,
数据
似乎为
。尝试将
四舍五入(…p.value..,3)
更改为
格式(…p.value..,3)
好吧。。。也许您可以调整对
round
format
的调用以生成合适的文本?