【发布时间】:2015-03-12 03:55:33
【问题描述】:
我在for loop 中有一个nlsLM,因为我想尝试不同的start values 来适应我的数据。我已经知道一些start values 会生成这个error:singular gradient matrix at initial parameter estimates,但我想跳过这个error 并继续使用loop,用下一个start values 拟合回归。我试图将所有for loop 放在try 和tryCatch 块中,设置silence=TRUE,但是当singular gradient matrix at initial parameter estimates error 出现时代码仍然停止。
有人可以帮我吗?
代码如下:
try({
for (scp.loop in scp.matrix){
for (fit.rate in 1:10){
print(scp.loop)
print(fit.rate)
#fit model with nlsLM
#blah, blah, blah
}}
},silent=FALSE)
【问题讨论】:
-
你能包含你使用的代码吗?我们可以指出问题可能出在哪里。
-
当然,@DominicComtois!现在你有了代码。我对 R 和编程很陌生,也许我的代码是“脏的”。如果您有提高性能并使其更清洁的想法,我将不胜感激。
标签: r for-loop error-handling try-catch nls