Combines bootstrap estimates with information in parameter key and performs some additional formatting.
Usage
define_boot_table(
.boot_estimates,
.key,
.ci = 95,
.na.rm = TRUE,
.nonboot_estimates = NULL
)Arguments
- .boot_estimates
One of the following:
Output from
bbr::bootstrap_estimates()or a wide data frame denoting the parameter estimates for each run. See details.A file path to a csv containing the above dataset.
- .key
path to parameter key or data.frame of parameter key. Described in more detail in
param_key- .ci
the confidence interval. A value from 1 to 100 denoting the percent confidence interval, or
"iqr"(interquartile range). Default is95.- .na.rm
logical (T/F). If
TRUE, anyNAandNaN's are removed before the quantiles are computed. Passed tostats::quantile().- .nonboot_estimates
Deprecated. Parameter estimates are now joined later in the workflow.
Details
Below is the expected format of .boot_estimates if a data frame is provided:
run THETA1 THETA2 THETA3 THETA4 THETA5 THETA6 THETA7 THETA8
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
001 0.494 4.19 1.20 4.20 1.24 0.488 -0.0615 0.377
002 0.405 4.07 1.14 4.23 1.32 0.536 -0.103 0.517
003 0.500 4.09 1.15 4.21 1.27 0.413 -0.0752 0.523
004 0.578 4.16 1.20 4.18 1.30 0.518 -0.0502 0.418
005 0.499 4.14 1.16 4.25 1.22 0.436 -0.0686 0.394Notes:
Some parameter names may have punctuation (such as
OMEGA(1,1)). A newnamecolumn 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_joinis 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/FALSEcolumns are added that will be used downstream.
Examples
model_dir <- system.file("model/nonmem", package = "pmparams")
paramKey <- file.path(model_dir, "pk-parameter-key-new.yaml")
# Using a file path:
boot_path <- file.path(model_dir, "boot/data/boot-106.csv")
define_boot_table(
.boot_estimates = boot_path,
.key = paramKey
)
#> # A tibble: 15 × 23
#> parameter_names lower value upper ci_level name abb desc panel
#> <chr> <dbl> <dbl> <dbl> <dbl> <chr> <chr> <chr> <chr>
#> 1 THETA1 1.39 1.57 1.78 95 THETA1 KA (1/h) Firs… stru…
#> 2 THETA2 58.3 61.5 65.1 95 THETA2 V2/F (L) Appa… stru…
#> 3 THETA3 3.07 3.23 3.42 95 THETA3 CL/F (L… Appa… stru…
#> 4 THETA4 65.0 67.3 69.8 95 THETA4 V3/F (L) Appa… stru…
#> 5 THETA5 3.37 3.61 3.86 95 THETA5 Q/F (L/… Appa… stru…
#> 6 THETA6 0.408 0.484 0.558 95 THETA6 CL/F ~ … eGFR… cov
#> 7 THETA7 -0.167 -0.0386 0.0878 95 THETA7 CL/F ~ … Age … cov
#> 8 THETA8 0.294 0.420 0.587 95 THETA8 CL/F ~ … Seru… cov
#> 9 OMEGA(1,1) 0.130 0.218 0.331 95 OMEGA11 IIV-KA Vari… IIV
#> 10 OMEGA(2,2) 0.0643 0.0821 0.101 95 OMEGA22 IIV-V2/F Vari… IIV
#> 11 OMEGA(3,3) 0.0896 0.112 0.140 95 OMEGA33 IIV-CL/F Vari… IIV
#> 12 OMEGA(2,1) 0.0328 0.0656 0.107 95 OMEGA21 V2/F-KA Cova… IIV
#> 13 OMEGA(3,1) 0.0805 0.121 0.173 95 OMEGA31 CL/F-KA Cova… IIV
#> 14 OMEGA(3,2) 0.0525 0.0696 0.0882 95 OMEGA32 CL/F-V2… Cova… IIV
#> 15 SIGMA(1,1) 0.0376 0.0400 0.0424 95 SIGMA11 Proport… Vari… RV
#> # ℹ 14 more variables: trans <chr>, 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>
# Using a `bbr` bootstrap model object:
if (FALSE) { # \dontrun{
boot_run <- bbr::read_model(file.path(model_dir, "106-boot"))
define_boot_table(
.boot_estimates = bbr::bootstrap_estimates(boot_run),
.key = paramKey
)
} # }
