diff options
| -rw-r--r-- | R/multistart.R | 16 | 
1 files changed, 10 insertions, 6 deletions
| diff --git a/R/multistart.R b/R/multistart.R index 11736670..4282de9c 100644 --- a/R/multistart.R +++ b/R/multistart.R @@ -80,14 +80,18 @@ multistart.saem.mmkin <- function(object, n = 50, cores = 1,      mmkin_parms, 1,      function(x) stats::runif(n, min(x), max(x))) +  fit_function <- function(x) { +    ret <- update(object, degparms_start = start_parms[x, ], ...) +    ret$call[[4]] <- str2lang( +      paste0(capture.output(dput(start_parms[x, ])), +        collapse = "")) +    return(ret) +  } +    if (is.null(cluster)) { -    res <- parallel::mclapply(1:n, function (x) { -      update(object, degparms_start = start_parms[x, ], ...) -    }, mc.cores = cores) +    res <- parallel::mclapply(1:n, fit_function, mc.cores = cores)    } else { -    res <- parallel::parLapply(cluster, 1:n, function(x) { -      update(object, degparms_start = start_parms[x, ], ...) -    }) +    res <- parallel::parLapply(cluster, 1:n, fit_function)    }    attr(res, "orig") <- object    attr(res, "start_parms") <- start_parms | 
