This function calls mkinfit
on all combinations of models and datasets
specified in its first two arguments.
mmkin(models, datasets, cores = round(detectCores()/2), cluster = NULL, ...)
models | Either a character vector of shorthand names ("SFO", "FOMC", "DFOP",
"HS", "SFORB"), or an optionally named list of |
---|---|
datasets | An optionally named list of datasets suitable as observed data for
|
cores | The number of cores to be used for multicore processing. This is only
used when the |
cluster | A cluster as returned by |
… | Further arguments that will be passed to |
A matrix of mkinfit
objects that can be indexed using the model
and dataset names as row and column indices.
[.mmkin
for subsetting, plot.mmkin
for plotting.
m_synth_SFO_lin <- mkinmod(parent = mkinsub("SFO", "M1"), M1 = mkinsub("SFO", "M2"), M2 = mkinsub("SFO"), use_of_ff = "max")#>m_synth_FOMC_lin <- mkinmod(parent = mkinsub("FOMC", "M1"), M1 = mkinsub("SFO", "M2"), M2 = mkinsub("SFO"), use_of_ff = "max")#>models <- list(SFO_lin = m_synth_SFO_lin, FOMC_lin = m_synth_FOMC_lin) datasets <- lapply(synthetic_data_for_UBA_2014[1:3], function(x) x$data) names(datasets) <- paste("Dataset", 1:3) time_default <- system.time(fits.0 <- mmkin(models, datasets, quiet = TRUE)) time_1 <- system.time(fits.4 <- mmkin(models, datasets, cores = 1, quiet = TRUE))#> Warning: Optimisation by method Port did not converge. #> Convergence code is 1#> Warning: Optimisation by method Port did not converge. #> Convergence code is 1time_default#> user system elapsed #> 16.092 0.132 11.761time_1#> user system elapsed #> 25.004 0.000 25.000#> $ff #> parent_M1 parent_sink M1_M2 M1_sink #> 0.7340479 0.2659521 0.7505687 0.2494313 #> #> $SFORB #> logical(0) #> #> $distimes #> DT50 DT90 #> parent 0.8777689 2.915885 #> M1 2.3257456 7.725960 #> M2 33.7200862 112.015702 #># plot.mkinfit handles rows or columns of mmkin result objects plot(fits.0[1, ])plot(fits.0[1, ], obs_var = c("M1", "M2"))plot(fits.0[, 1])# Use double brackets to extract a single mkinfit object, which will be plotted # by plot.mkinfit and can be plotted using plot_sep plot(fits.0[[1, 1]], sep_obs = TRUE, show_residuals = TRUE, show_errmin = TRUE)plot_sep(fits.0[[1, 1]]) # Plotting with mmkin (single brackets, extracting an mmkin object) does not # allow to plot the observed variables separately plot(fits.0[1, 1])