在ggplot中显示y~log(x)函数的R2值和p值

5
我想要用logistic回归制作一个带有R2和p值的ggplot图表。我尝试过使用stat_cor函数,但它只显示线性回归的R2和p值。我尝试在stat_cor函数中加入“formula=y~log(x)”参数,但出现未知参数:formula的错误提示。我需要使用不同的函数来实现吗?
ggplot(data = Data,aes(x=Carbon_per,y=Pyrite_per,col=Ecosystem,shape=Ecosystem)) +
  geom_smooth(method='lm', formula=y~log(x))+
  geom_point() +
  stat_cor(aes(label = paste(..rr.label.., ..p.label.., sep = "~`,`~")))

祝福您, Gloria


这个回答解决了你的问题吗?在图表上添加回归线方程和R^2。 - UseR10085
1
不,我已经成功获得线性回归的R2值和P值,但我现在需要对数回归的这些值。 - Gloria Rooibos
你可以在绘图之前对x进行对数变换,然后仅应用线性回归(y~x)。 - UseR10085
这是有道理的,但我不想在我的图中显示log(x),而是要用logistic回归显示正常数据。我猜应该有一种方法可以将正常图与log(x)回归和log(x)数据的y~x stat_cor相结合。我会继续努力的。 - Gloria Rooibos
嗨,Bappa,我明白了。谢谢你的帮助! - Gloria Rooibos
1个回答

2
你是在寻找类似这样的东西吗?
library(ggpubr)
library(ggplot2)
ggplot(data = mtcars, aes(x = log(wt), y = mpg)) +
                   geom_smooth(method = "lm", 
                               formula = y ~ x) +
                   geom_point() +
                   stat_cor(label.y = 40)+ 
                   stat_regline_equation(label.y = 45) 

enter image description here


嗨,Zhiqiang,感谢您的评论。这正是我所做的,问题在于R2和p值描述的是线性回归而不是对数回归。我比较了yx和ylog(x),它们给出了相同的R2和p值,因此我想stat_cor只能进行线性回归。或者我可以调整吗? - Gloria Rooibos
我已经编辑了我的回答。如果不是你想要的,我会将其删除。干杯 - Zhiqiang Wang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接