Hello, I'm using the following for loop to find regression curves using a list of functions (formList), a list of starting values (startList), uppervalues (upperList) and lower values (lowerList). A sample of the list of function I use in the loop is the following:
FormList <- list(PTG.P ~ fz1(Portata, a, b), PTG.P ~ fz2(Portata, a, b), PTG.P ~ fz3(Portata,a, b, d, e), PTG.P ~ fz4(Portata, a, b), PTG.P ~ fz5(Portata, a, b, d), PO4.P ~ fz1(Portata, a, b), PO4.P ~ fz2(Portata, a, b), ... And the loop I use is: resultList <- list() for (i in 1:length(formList)) { resultList[[i]] <- nls(formList[[i]], data=subset(dati, Fiume=="Laveggio"), start=startList[[i]], nls.control(maxiter=1000, warnOnly=TRUE), algorithm='port', na.action=na.omit,lower=lowerList[[i]], upper=upperList[[i]]) } When the computation ends I get 5 warning messages (one of false convergence, 4 of singular convergence: In nls(formList[[i]], data = subset(dati, Fiume == "Laveggio"), : Convergence failure: false convergence (8) 2: In nls(formList[[i]], data = subset(dati, Fiume == "Laveggio"), : Convergence failure: singular convergence (7) If I want to get the summary of the first object of the resultList I do: summary(resultList[[1]]) And I get a result with no problem: Formula: PTG.P ~ fz1(Portata, a, b) Parameters: Estimate Std. Error t value Pr(>|t|) a 61.158 18.591 3.290 0.00140 ** b 7.616 8.720 0.873 0.38464 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 91.32 on 96 degrees of freedom Algorithm "port", convergence message: both X-convergence and relative convergence (5) It also works if I try to get the summary of the first 5 object of the resultList with: summaryList<-list() for (i in 1:5) { summaryList[[i]]<-summary(resultList[[i]]) } But if I try to get the summary of all the objects of the resultList (there are 35 objects) it doesn't work... I tried: summaryList<-list() > for (i in 1:length(resultList)) + { + summaryList[[i]]<-summary(resultList[[i]]) + } And I got the following error message: Error in chol2inv(object$m$Rmat()) : l'elemento (3, 3) è zero, quindi l'inversa non può essere calcolata Which translated should be: Error in chol2inv(object$m$Rmat()): the element (3, 3) is zero (NULL?), that's why the inverse (inverse function?) can not be computed Does somebody have an idea on how to fix this? Thanks Laura ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.