2

我需要对整个数据集运行非线性最小二乘回归,然后对该数据集的几个子集重复回归。我可以为单个子集执行此操作;例如(其中 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] 中的错误:无效的下标类型 'list'”。我非常希望避免复制和粘贴 nls() 20 次。任何帮助深表感谢。

4

1 回答 1

2

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

于 2012-09-11T23:16:23.750 回答