R中的S形曲线

问题描述

我是R studio的新手。我正在尝试为此数据拟合S形曲线

x <- c(0,0.19,0.3,0.4,0.52,0.65,0.78,0.9,1,1.5,2,3)
y <- c(0,0.001131392946767,0.001429213070191,0.001695405556196,0.008619063174144,0.00970100252551,0.014973553352495,0.022978522580874,0.038357458205673,0.045039437163441,0.052570608708667,0.050651474312204)

即使在网上阅读了很多书之后,我仍然不知道如何设置配件。

fit <- nls(y~max(y)*x^n/k^n+x^n,start=list(n=4,k=1))

当我进行拟合时,它给了我一个奇异的梯度误差。有人可以帮忙吗? :(

解决方法

使用自启动模型:

plot(y ~ x)

help("SSlogis")
fit <- nls(y ~ SSlogis(x,Asym,xmid,scal),data = data.frame(x,y))
summary(fit)

curve(predict(fit,newdata = data.frame(x = x)),add = TRUE)

enter image description here

您提出的模型似乎有问题,因为它不适合上渐近线。您使用max(y)的建议没有以明智的方式考虑不确定性。我还怀疑您可能会错过公式中的括号。

相关问答

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