r - 将 nls() 函数应用于多个子集

标签 r nls

我需要对整个数据集运行非线性最小二乘回归,然后对该数据集的几个子集重复回归。我可以对单个子集执行此操作;例如(其中 y 是通用逻辑方程,x 是从 1 到 20 的向量):

example = nls(x ~ y, subset = c(2:20))

但我想在 3:20、4:20、5:20 等时间执行此操作。我尝试了 for 循环:

datasubsets <- sapply(2:19, seq, to = 20)
for (i in 1:19){
    example[i] = nls(x ~ y, subset = datasubsets[i])
}

但我收到“xj[i] 中的错误:下标类型‘列表’无效”。我非常希望避免复制和粘贴 nls() 20 次。非常感谢任何帮助。

最佳答案

这可以完成工作:sapply(2:19,function(jj) nls(x~y,subset=jj:20))

关于r - 将 nls() 函数应用于多个子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12375845/

相关文章:

r - 如何在线托管 R 传单 map

r - 我如何总结一个因素或字符变量?

string - R: 从 FUN(1.01) 返回 "1.0"?

R ggplot2 geom_smooth - 单调平滑函数

r - 使用 nls 的指数回归

r - nls最合适的线-如何强制绘制线?

R:如何将 osmdata 的运行时间减少为 igraph 转换

r - 从事后测试中获得整洁的输出

r - nls - 收敛错误

r - 在 R 中使用 `nls.lm` 时如何处理边界约束