Я запускаю для l oop, чтобы сделать большую нелинейную регрессию. Проблема в том, что некоторые столбцы приводят к ошибке, потому что не хватает итераций.
Error in nls(y ~ cbind(1, 1/(1 + exp((xmid - x)/exp(lscal)))), data = xy, :
number of iterations exceeded maximum of 50
Я попытался изменить количество итераций (следующее), но все равно выдает ту же ошибку. Я не уверен, что делать. Либо мне это нужно, чтобы пометить столбцы, которые не запускаются, либо выполнять итерацию до тех пор, пока они не сходятся Странно то, что для всех тех, кто работает, они принимают только 1 итерацию, поэтому я не понимаю, как это может go более 50?
for(i in 1:(ncol(df))) {jpeg(paste((i), ".jpg"), height = 5, width = 6, units = "in", res = 300)
plot(time,
df[[i]],
xlab = "time (hours)",
ylab = "fluorescence (rfu)",
xlim=c(0, 92), ylim=c(0, 150000),
pch = 20,
col = "grey65",
main=colnames(df[i]))
N$i <- nlsLM(df[[i]]~SSfpl(time, a, b, c, d), control=nls.lm.control(maxiter=100, nprint = 1))
lines(time, predict(N$i), col = "black")
dev.off()
}
Любая помощь будет принята с благодарностью!