我需要对整个数据集运行非线性最小二乘回归,然后对该数据集的几个子集重复回归。我可以为一个子集做到这一点;例如(其中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次。非常感谢任何帮助。
答案 0 :(得分:2)
这可以完成工作:sapply(2:19,function(jj) nls(x~y,subset=jj:20))
。