如何获得R的非线性拟合的R ^ 2值?

问题描述

我使用了软件包library(respirometry),然后在其中计算了Q10值和指数Q10函数。 我的数据描述了反应速率(y轴)和温度(x轴)

R_vec<-c(59.30417,25.17243,52.66955,43.12963,145.29852,193.97691,236.89912,210.35885,320.23098,191.12217,147.24903,48.89208,32.88568,42.43895,112.43556,138.64379,251.85190,311.22275,305.99481,204.57434,110.43752,27.86627,25.55593,44.73207,56.92945,111.58071,308.65409,207.8143,229.17585,233.12221,103.07271,38.26464,69.34925,199.72791,255.01797,188.30957,181.65170,69.06965,47.91171,47.33007,77.23250,215.56555,222.82550,199.22744,125.79686,62.54028,56.56693,83.46246,248.88899,97.51262,32.85744,190.31608,235.28843,227.93966,179.88509,69.64359,43.01391,86.14514,235.26539,202.96242,178.81976,147.50266,57.77056,48.64468)
T_vec<-c(2.80,8.10,12.60,7.40,16.10,20.50,20.40,18.40,25.80,14.80,13.00,5.30,9.40,6.80,15.20,14.30,22.40,23.70,20.80,16.50,4.61,4.79,8.30,12.10,22.00,14.60,15.40,15.50,8.20,10.20,23.40,20.90,14.50,9.00,2.00,11.60,21.00,24.70,22.30,10.80,13.20,9.70,15.60,10.60,20.70,24.30,17.90,14.70,5.50,7.20,11.70,17.80,2.10,7.30)

使用Q10函数,我计算出一个指数函数

 best_fit = Q10(R_vec = R_vec,T_vec = T_vec,model = TRUE)$model
    summary(best_fit)

在文献中,Q10函数始终使用R ^ 2进行验证。由于R ^ 2无法应用于非线性函数,因此我尝试线性化从summary()函数获得的以下方程式:R_vec = 39.853860 * exp(0.081536 * T_vec)

lm <- lm(R_vec ~ log(39.853860*exp(0.081536*T_vec)))
summary(lm)
plot(lm)

这给了我R ^ 2,但没有一个上面描述这个确切函数的R ^ 2,而是最合适的指数模型。为了获得Q10函数生成的特定函数的R ^ 2,我缺少什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...