R 脚本问题 - is.na 告诉我条件长度 > 1

标签 r nls

在我的 r 脚本中,我执行 nls 来获取合适的值:

fit <- nls(...)

然后,我通过执行以下操作来测试 nls 是否成功:

if(is.na(fit)) {
  print("succeeded")
}

但我收到警告:

the condition has length > 1 and only the first element will be used

我这样做错了吗?如果是这样,我该怎么办?如果没有,如何删除警告?谢谢!

最佳答案

如果拟合失败,

nls 会引发错误。因此,在 try(nls(...)) 之后的 is.null 是正确的方法。

这是我在使用nls适合不确定数据时使用的一段代码:

fit <- NULL
while (TRUE) {
    start <- list(...) # try somewhat randomized initial parameter
    try(fit <- nls(..., start = start)) # performe nls
    if (!is.null(fit)) break;
}

关于R 脚本问题 - is.na 告诉我条件长度 > 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7135290/

相关文章:

r - 在数据集中拟合多条逻辑增长曲线

r - 更改 ggplot 中标签注释的大小

r - 在 DT::renderDataTable 中添加下载按钮

r - 如何计算 r 中非线性最小二乘法的置信区间?

r - 使用 nls 在 R 中拟合曲线

r - nls - 收敛错误

r - 如何从 nls 计算 95% 的预测区间

r - tikzDevice 主标题不带粗体

r - 如何在没有错误的情况下从因子更改为数字

r - 将数据转换为起止/长格式