【问题标题】:Sigmoidal curve in RR中的S形曲线
【发布时间】:2020-08-27 18:47:31
【问题描述】:

我是 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))

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

【问题讨论】:

    标签: r nls


    【解决方案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)
    

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

    【讨论】:

    • 感谢您的回答!我试图重现您的配件,但出现错误。 lm.fit 中的错误(x,y,offset = offset,singular.ok =singular.ok,...):'x' 中的 NA/NaN/Inf。我不明白这个问题
    • 你是对的,我在前面的公式中添加了一个缺少的括号!
    • 我使用您在问题中提供的数据(完全按照给定)运行此代码。应该没有错误。
    • @Roland,你能检查一下这个问题和建议吗? stats.stackexchange.com/questions/550387/…
    猜你喜欢
    • 2016-01-07
    • 1970-01-01
    • 2021-12-26
    • 2020-02-13
    • 2017-03-14
    • 2018-10-02
    • 1970-01-01
    • 2017-01-24
    • 1970-01-01
    相关资源
    最近更新 更多