nlsで回帰をしていると,値が収束しなくて,
「繰り返し数が最大値 50 を超えました」というエラーで処理がストップすることがある.
そういう場合は,controlオプションを使って,警告のみをTRUEにしておく.

n <- i
y1 <- c[1:n]
x1 <- seq(1,n,1)
dat <- data.frame(x1,y1)

#linear
tmp <- nls(y1~a*x1+b,dat,start=list(a=1.0,b=y1[1]),control=list(warnOnly=FALSE)
res1 <- summary(tmp)

一次関数の回帰にnls使うなっつー話ではありますが.