小编Mat*_*t74的帖子

拟合和比较 R 中的多条 sigmoid 曲线

我想一次拟合多条曲线,并根据它们的 3 个估计参数——渐近线、斜率和 x0,对它们进行统计比较。这是要建模的数据的理想化图像: 在此处输入图片说明

大多数可搜索页面都提供了拟合单个曲线的方法,如下所示: http: //kyrcha.info/2012/07/08/tutorials-fitting-a-sigmoid-function-in-r/ 和这里 http:// rstudio-pubs-static.s3.amazonaws.com/7812_5327615eb0044cf29420b955ddaa6173.html

就我而言,我想测试(统计)改变变量级别对 sigmoid 的三个参数的影响。也就是说,当我拟合这个模型时:

model <- nls(y ~ asym / (1 + exp( -slope * (x – x0) ) ), start = c(…), data = my_data)
Run Code Online (Sandbox Code Playgroud)

我想添加两个因子(例如,“factorA”和“factorB”)与每个 asym、slope 和 x0 项的相互作用,我们可以使用lm()or 的方式glm(),如下所示:

model_int <- nls(y ~ asym*factorA / (1 + exp( -(slope*factorA) * (x – (x0*factorA) ) ), start = c(…), data = my_data)
Run Code Online (Sandbox Code Playgroud)

这样,我可以看到这三个参数在 factorA 的不同级别(以及可能有多个其他因素,如您从图像中看到的)在统计上是否不同。例如,我们可以看到“条件”对曲线的渐近线有影响。

我以前用虚拟编码完成了每个交互变量的每个级别,但这不是直接测试这些变量的方法,并且随着模型的发展相当冗长。它看起来像这样: …

r curve-fitting nls glm sigmoid

5
推荐指数
1
解决办法
2009
查看次数

标签 统计

curve-fitting ×1

glm ×1

nls ×1

r ×1

sigmoid ×1