R中的S形曲线

Sigmoidal curve in R

我是R工作室的新手。我正在尝试为此数据拟合 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))

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

使用 self-starting 型号:

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)

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