We should do something like:
diff --git a/R/run_tmb.R b/R/run_tmb.R
index 95187dd6..036ff537 100644
--- a/R/run_tmb.R
+++ b/R/run_tmb.R
@@ -1392,7 +1392,7 @@ g3_tmb_lower <- function (parameters) g3_tmb_bound(parameters, 'lower')
g3_tmb_upper <- function (parameters) g3_tmb_bound(parameters, 'upper')
g3_tmb_parscale <- function (parameters) g3_tmb_bound(parameters, 'parscale')
-g3_tmb_relist <- function (parameters, par) {
+g3_tmb_relist <- function (parameters, par, return_table = FALSE) {
# NB: A fit$par won't have numeric identifiers at the end to keep them unique
cmp_names <- function (a, b) identical(gsub("\\d+$", "", names(a)), gsub("\\d+$", "", names(b)))
@@ -1416,5 +1416,11 @@ g3_tmb_relist <- function (parameters, par) {
parameters$optimise)], out)
# Re-order to match template list
out <- out[names(parameters$value)]
+
+ if (return_table) {
+ tbl <- parameters
+ tbl$value <- out
+ out <- tbl
+ }
return(out)
}
We should do something like: