Combines model output parameter estimates with information in parameter key. Performs some formatting of this combined data.frame.
define_param_table(.estimates, .key, .ci = 95, .zscore = NULL)
One of the following:
Path to a bbr
model
A bbr
model. (output of bbr::read_model()
)
A bbr
model summary object (output of bbr::model_summary()
)
A data frame of the parameter estimates (e.g., output of bbr::param_estimates()
)
Path to parameter key or data.frame of parameter key. Described
in more detail in param_key
Confidence interval. A value from 1 to 99 denoting the percent
confidence interval. Default is 95
.
Deprecated. Please use the .ci
argument.
Below is the expected format of .estimates
if a data frame is provided:
parameter_names estimate stderr random_effect_sd random_effect_sdse fixed diag shrinkage
<chr> <dbl> <dbl> <dbl> <dbl> <lgl> <lgl> <dbl>
THETA1 0.443 0.0643 NA NA FALSE NA NA
THETA2 4.12 0.0275 NA NA FALSE NA NA
THETA3 1.17 0.0280 NA NA FALSE NA NA
THETA4 4.21 0.0190 NA NA FALSE NA NA
THETA5 1.28 0.0348 NA NA FALSE NA NA
THETA6 0.485 0.0395 NA NA FALSE NA NA
THETA7 -0.0378 0.0635 NA NA FALSE NA NA
THETA8 0.419 0.0863 NA NA FALSE NA NA
Notes:
Some parameter names may have punctuation (such as OMEGA(1,1)
). A new
name
column is automatically added that specifies the name without
punctuation (i.e. OMEGA11
).
Parameter details from the parameter key are joined to the bootstrap parameter
estimates. A dplyr::inner_join
is used so that only parameters in the model
output are kept in the table. This was done so that, if your base and final
model used the same structural THETAs and random parameters, the same
parameter key could be used for both.
This join adds the following columns: abb
(abbreviation), desc
(parameter description), panel
, trans
(transformation).
A final check is performed to determine whether parameters with special
transformation rules were defined correctly. In addition, a series of TRUE
/
FALSE
columns are added that will be used downstream.
model_dir <- system.file("model/nonmem", package = "pmparams")
paramKey <- file.path(model_dir, "pk-parameter-key-new.yaml")
# Using a file path
param_est_path <- file.path(model_dir, "param_est_102.csv")
param_ests <- readr::read_csv(param_est_path)
#> Rows: 12 Columns: 8
#> ── Column specification ────────────────────────────────────────────────────────
#> Delimiter: ","
#> chr (1): parameter_names
#> dbl (5): estimate, stderr, random_effect_sd, random_effect_sdse, shrinkage
#> lgl (2): fixed, diag
#>
#> ℹ Use `spec()` to retrieve the full column specification for this data.
#> ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
define_param_table(param_ests, paramKey, .ci = 95)
#> # A tibble: 12 × 33
#> parameter_names estimate stderr random_effect_sd random_effect_sdse fixed
#> <chr> <dbl> <dbl> <dbl> <dbl> <lgl>
#> 1 THETA1 0.434 0.0629 NA NA FALSE
#> 2 THETA2 4.12 0.0276 NA NA FALSE
#> 3 THETA3 1.12 0.0328 NA NA FALSE
#> 4 THETA4 4.21 0.0192 NA NA FALSE
#> 5 THETA5 1.29 0.0354 NA NA FALSE
#> 6 OMEGA(1,1) 0.221 0.0530 0.470 0.0564 FALSE
#> 7 OMEGA(2,2) 0.0827 0.00983 0.288 0.0171 FALSE
#> 8 OMEGA(3,3) 0.169 0.0197 0.411 0.0240 FALSE
#> 9 OMEGA(2,1) 0.0690 0.0200 0.511 0.0975 FALSE
#> 10 OMEGA(3,1) 0.134 0.0236 0.694 0.0686 FALSE
#> 11 OMEGA(3,2) 0.0735 0.0105 0.622 0.0524 FALSE
#> 12 SIGMA(1,1) 0.0399 0.00123 0.200 0.00307 FALSE
#> # ℹ 27 more variables: diag <lgl>, shrinkage <dbl>, name <chr>, abb <chr>,
#> # desc <chr>, panel <chr>, trans <chr>, nrow <int>, transTHETA <lgl>,
#> # THETAERR <lgl>, TH <lgl>, OM <lgl>, S <lgl>, LOG <lgl>, LOGIT <lgl>,
#> # lognormO <lgl>, Osd <lgl>, logitOsd <lgl>, propErr <lgl>, addErr <lgl>,
#> # addErrLogDV <lgl>, value <dbl>, se <dbl>, corr_SD <dbl>, lower <dbl>,
#> # upper <dbl>, ci_level <dbl>
# Using a `bbr` model
if (FALSE) { # \dontrun{
mod <- bbr::read_model(file.path(model_dir, "102"))
define_param_table(mod, paramKey, .ci = 95)
} # }