警告消息:在stat_poly_eq()中计算失败:r中的变量长度不同(为'R0'找到)

问题描述 投票:0回答:1

我使用stat_poly_eq()在图表上输出参数和公式,但收到警告消息:

stat_poly_eq()中的计算失败:可变长度不同(为'R0'找到)。

我的脚本如下。

ggplot(data=dat, aes(x= T_mean,y= LM.flux, col= Treat2 )) +
geom_point()+
geom_smooth(method = "nls", se=FALSE, color="red", formula = 'y~ R0 * 
exp(Bm*x)', 
method.args= list(start=c(R0= 0.01, Bm=0.01)))+  
stat_poly_eq(aes(label = paste(stat(eq.label), stat(rr.label), 
stat(AIC.label), sep = "~~~")), formula ='y~ R0 * exp(Bm*x)', 
rr.digits=3,coef.digits=2, parse = TRUE) +  
theme_classic()+
theme(plot.title = element_text(hjust = 0.5) +      
scale_x_continuous(breaks=c(0, 5, 6, 7))+
scale_y_continuous(breaks = seq(0,1.5,by = 0.1), limits = seq(0,1.5)))

> R0
[1] 0.0289297

我不知道我的脚本出了什么问题,因为我定义了rr.digits=4,coef.digits=4。另一个问题是该图的y轴间隔仍为0.5,但我定义了scale_y_continuous(breaks = seq(0,1.5,by = 0.1), limits = seq(0,1.5))

希望有人可以提供帮助。谢谢!

r ggplot2 regression curve-fitting
1个回答
0
投票

您可以尝试像这样将输出添加到绘图上

geom_text(aes(x=5,y=35,hjust=0,label=(paste(expression("y~ R0 * exp(Bm*x)")))),parse=TRUE,size=8,colour="red") +
geom_text(aes(x=5,y=30,hjust=0,label=(paste(expression("R"^2*" = 0.75")))),parse=TRUE,size=8,colour="blue")

这里是r平方,我以固定数字(0.75)为例,因为我不知道您是如何计算结果的。请为您的目的尝试一下。

如果最终图像的分辨率遇到任何问题,可以尝试输出为.tiff来解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.