首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中使用玻尔兹曼Sigmoide型方程的自启动模型函数是什么?

R中使用玻尔兹曼Sigmoide型方程的自启动模型函数是什么?
EN

Stack Overflow用户
提问于 2021-11-02 16:39:38
回答 1查看 77关注 0票数 0

我正在尝试使用如下所示的R库函数来预测以下样本数据的熔化温度(Tm)值,以模拟GraphPad PRISM中使用玻尔兹曼sigmoid函数的计算。我在DRC包中选择了G.4()函数,它是最接近的自启动模型,它提供的TM值非常接近于PRISM中的Boltzmann sigmoid函数。我相信这不是最恰当的选择。我需要关于正确的R库函数的建议。

GraphPad PRISM软件使用的玻尔兹曼sigmoid方程:

Y=Y2+((Y1−Y2)/(1+exp((V50−X)/slope))

R DRC库中G.4()函数中使用的四参数Gompertz模型:

F(X)=Y2+(y1−y2)exp(log(b(−(X)−e)。

代码语言:javascript
复制
library(drc)

df <- data.frame(Temperature= c(51.6,51.8,52,52.2,52.4,52.6,52.8,53,53.2,53.4,53.6,53.8,54,54.2,54.4,54.6,54.8),
      RFU = c(-90.01,-90.02,-87.17,-80.06,-68.57,-56.5,-44.25,-29.08,-12.03,5.45,24.94,47.19,70.06,92.87,116.07,140.85,161.95))

fm <- drm(data = df, RFU ~ Temperature, fct = G.4())


summary(fm1)

Model fitted: Gompertz (4 parms)

Parameter estimates:

                    Estimate Std. Error t-value   p-value    
b:(Intercept)  -0.555010   0.029105 -19.069 6.925e-11 ***
c:(Intercept) -98.503228   1.929340 -51.055 2.255e-16 ***
d:(Intercept) 469.605163  34.369511  13.663 4.341e-09 ***
e:(Intercept)  54.350344   0.103484 525.206 < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error:

 1.582522 (13 degrees of freedom)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-02 21:51:56

"Boltzmann sigmoid函数“正是Pinheiro和Bates所说的”四参数逻辑函数“,因为它实际上只是逻辑函数的重新缩放版本,具有不同的最小值和最大值。因此,R中已经以SSfpl函数的形式构建了一个自启动版本。所以它就像这样简单

代码语言:javascript
复制
?SSfpl  -- to see the equation and supporting docs
fm1 <- nls(RFU ~ SSfpl(Temperature, A, B, xmid, scal), data =df)

# fm1 returns -------------------->
Nonlinear regression model
  model: RFU ~ SSfpl(Temperature, A, B, xmid, scal)
   data: df
        A         B      xmid      scal 
-115.0352  294.8875   54.1671    0.8681 
 residual sum-of-squares: 56.05

Number of iterations to convergence: 0 
Achieved convergence tolerance: 1.541e-06

A和B显然是开始和结束的渐近线。将你的数据绘制成图表后,我会发出警告,不要对结束渐近线估计有太多信心。你真的没有太多的数据超过150的RFU,这只是超出了xmid的值。

代码语言:javascript
复制
> png()
> plot(RFU~Temperature, df)
> lines( predict( fm1, newdata= df[ ,"Temperature", drop=FALSE]) ~ df$Temperature, col="blue")
> dev.off()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69814007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档