`nls` 拟合误差:无论起始值如何,始终达到最大迭代次数

2023-11-29

使用此参数化来构建增长曲线逻辑模型

enter image description here

我创建了一些点: K =0.7 ; y0=0.01; r=0.3

df = data.frame(x= seq(1, 50, by = 5))
df$y = 0.7/(1+((0.7-0.01)/0.01)*exp(-0.3*df$x))

enter image description here

有人可以告诉我,如果使用模型启动器创建数据,怎么会出现拟合错误?

fo = df$y ~ K/(1+((K-y0)/y0)*exp(-r*df$x))

model<-nls(fo,
           start = list(K=0.7, y0=0.01, r=0.3),
           df, 
           nls.control(maxiter = 1000))
Error in nls(fo, start = list(K = 0.7, y0 = 0.01, r = 0.3), df, nls.control(maxiter = 1000)) : 
  number of iterations exceeded maximum of 1000

不要对人工“零残差”数据使用“nls”。,如记录在?nls.

set.seed(0)
x <- seq(1, 50, by = 5)
y <- 0.7 / (1 + ((0.7 - 0.01) / 0.01) * exp(-0.3 * x))
y <- y + rnorm(length(x), sd = 0.05)  ## add Gaussian error!!
dat <- data.frame(x = x, y = y); rm(x, y)
with(dat, plot(x, y))

fit <- nls(y ~ K / (1 + ((K - y0) / y0) * exp(-r * x)), data = dat,
           start = list(K = 0.7, y0 = 0.01, r = 0.3))

#Nonlinear regression model
#  model: y ~ K/(1 + ((K - y0)/y0) * exp(-r * x))
#   data: dat
#      K      y0       r 
#0.70013 0.01841 0.27950 
# residual sum-of-squares: 0.02851
# 
#Number of iterations to convergence: 12 
#Achieved convergence tolerance: 4.145e-06

另外,避免使用$模型公式中,否则使用时会遇到麻烦predict later.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

`nls` 拟合误差:无论起始值如何,始终达到最大迭代次数 的相关文章

  • 使用 ggplot 绘制函数,相当于 curve()

    是否有使用绘制函数的等效方法ggplot to the curve 基础图形中使用的命令 我想另一种选择是创建一个函数值向量并绘制一条连接线 但我希望有更简单的东西 Thanks 您可以使用以下命令添加曲线stat function ggp
  • 在另一列的字符串中搜索一列中的文本

    这里是 R 新手 一直在搜索此论坛 尝试找到一种在同一行数据的字符串中搜索文本的方法 我以前使用过 grepl 但无法让它向下查找列并对每一行应用检查 我觉得这是一个简单的解决方案 但我花了几个小时 但似乎无法得到它 基本上我有类似下面第
  • R + ggplot2 - 无法分配大小为 128.0 Mb 的向量

    我有一个 4 5MB 9 223 136 行 的文件 其中包含以下信息 0 0 0 0147938 3 67598e 07 0 0226194 7 35196e 07 0 0283794 1 10279e 06 0 033576 1 470
  • 如果我有一个包含计数的表格,如何获得直方图/摘要统计数据? [复制]

    这个问题在这里已经有答案了 我习惯了像这样的观察向量c 1 1 1 3 4 我可以在上面看到汇总统计数据和绘制直方图等 但现在我发现自己拥有相同的数据 但采用如下压缩格式 value numObs 1 3 3 1 4 1 当数据以data
  • 如何在 R 中更新和重新编译 nlme 源代码

    我正在尝试更新 nlme 包 以便我可以在 gls 命令中使用大圆距离进行相关性 我正在尝试使用指定的更改来编辑源代码here http r 789695 n4 nabble com nlme spatial autocorrelation
  • 如何删除括号内的值的行?

    我正在使用以下数据框 Name Height Eric 64 Joe 67 Mike 66 Nick 72 Dave 69 Steve 73 我想删除 名称 列以左括号 开头的所有行 因此最终的数据框如下所示 Name Height Eri
  • 重叠并固定小平面中的 x 尺度(尺度=“自由”)以制作电影

    在另一篇文章中 Justin 的帮助下 我用以下方法绘制了模拟结果facet gridggplot2 中的选项 包含数据和答案的帖子在这里 使用facet grid选项通过ggplot2绘制数据框的列 https stackoverflow
  • 在 r 中使用 SSasymp

    我想我不知道如何在 r 中使用 SSasymp 函数 我想为我的项目创建一个渐近函数 我试过这个 c lt seq 0 200 0 5 d lt SSasymp c 500 0 log 50 plot c d type l log 50 应
  • 如何合并具有相同列名的数据框

    我有一个数据框 如下所示 structure list Variables structure list ADA ADA LEAD LEAD BIG4 BIG4 LOGMKT LOGMKT LEV LEV ROA ROA ROAL ROAL
  • R 中的金字塔图

    对于示例数据集 我按国家 地区创建了一个金字塔图 显示人口中男性和女性超重的水平 library plotrix xy males overweight lt c 23 2 33 5 43 6 33 6 43 5 43 5 43 9 33
  • R 下与 Julia 的密切联系

    In my R代码 我使用MixedModels Julia包裹 我整合Julia in R使用JuliaCall包裹 我使用非常大的数据集 1 GB 4x10 6观察 和建模步骤 mixed models 分配了大量 RAM 80 GB
  • rle 命令帮助

    我在使用 rle 命令时遇到了一些麻烦 该命令旨在找到参与者连续达到 8 个连续参与者的点 例如 如果 x lt c 0 1 0 1 1 1 1 1 1 1 1 1 我想返回值 11 感谢 DWin 我一直在使用这段代码 which rle
  • R - 对矩阵的每行/列应用具有不同参数值的函数

    我试图将函数应用于矩阵的每一行或每一列 但我需要为每一行传递不同的参数值 我以为我熟悉 lapply mapply 等 但可能还不够 举个简单的例子 gt a lt matrix 1 100 ncol 10 gt a 1 2 3 4 5 6
  • R 如何按行值进行分组、拆分或子集

    这是上一个问题的延续R 如何按行值分组 分裂 https stackoverflow com questions 64602607 r how to group by row value split 输入数据帧的变化是 id str c x
  • 在 Microsoft Windows 上安装 RQuantLib

    我需要安装R包RQuantLib在 Microsoft Windows 计算机上 这个包没有二进制文件 所以我下载了 tar 源 我打开它 它包含 QuantLib C 库 所以我需要编译这个包 我不想安装 Visual Studio 我使
  • 寻找一种有效的方法来计算两个表中间隔集之间的重叠数量?

    注意 为了方便起见 我使用上一篇文章中的示例数据集 假设有两个数据集 ref and map 他们是 ref lt data table space rep nI 3 t1 c 100 300 500 t2 c 150 400 600 id
  • R 版本 4.0.0 上的 ROracle

    当尝试使用 ROracle 时 我收到以下错误消息 gt library ROracle Error package or namespace load failed for ROracle package ROracle was inst
  • 将一个 Rmarkdown 文档中的代码块插入到另一个 Rmarkdown 文档中

    我一直在举办一些小型 R 教程 研讨会 我将 挑战脚本 保存在 Rmarkdown 文档中 它们包含自由文本和 R 代码块 一些代码块是预先填充的 例如 为了设置数据集以供以后使用 而一些代码块则供与会者在研讨会期间填写代码 对于每个挑战脚
  • 在 R 中绘制 3D 数据

    我有一个 3D 数据集 data data frame x rep c 0 1 0 2 0 3 0 4 0 5 each 5 y rep c 1 2 3 4 5 5 data z runif 25 min data x data y 0 1
  • 包含多行 LaTeX 方程的 R 帮助页面

    我正在编写 R 包文档roxygen2 我想将以下多行方程插入到帮助页面中 但我的 LaTeX 代码没有被渲染 hello2 description deqn F t begin cases alpha t f L t 1 alpha t

随机推荐