Skip to contents
library(hyperion)
#> 
#> 
#> ── pharos configuration ────────────────────────────────────────────────────────
#>  pharos.toml found: /data/user-homes/tariq/projects/prism-pkgdocs-build/installed-pkgs/2026-03-02/hyperion.tables_0.3.0/vignettes/pharos.toml
#> ── hyperion options ────────────────────────────────────────────────────────────
#>  hyperion.significant_number_display : 4
#> ── hyperion nonmem object options ──────────────────────────────────────────────
#>  hyperion.nonmem_model.show_included_columns : FALSE
#>  hyperion.nonmem_summary.rse_threshold : 50
#>  hyperion.nonmem_summary.shrinkage_threshold : 30
library(hyperion.tables)

model_dir <- system.file("extdata", "models", "onecmt", package = "hyperion.tables")

Basic Summary Table

Summary tables display model run information across a project. Start by loading the model lineage tree:

tree <- get_model_lineage(model_dir)

tree

Hyperion Model Tree

ℹ️ Models: 8

  • run001 - Base model
    • run004 - Updating run001 to run004 with jittered params …
    • run002 - Adding COV step, unfixing eps(2)
      • run002a - Some description about what makes run002a diffe…
      • run003 - Jittering initial estimates
        • run003b1 - Updating run003 to 003b1 with jittered params. …
        • run003b2 - Updating run003 with mod object
      • run002b001 - Jittering initial sigma estimates, using theta/…

Create a summary table with default columns:

Run Summary
Model Reference Description No. Params Cond. No. OFV Δ\DeltaOFV p-value
run001 Base model 6 1.98 -103.299
run002 run001 Adding COV step, unfixing eps(2) 8 29.6 -103.468 -0.169 0.919 (df = 2)
run003 run002 Jittering initial estimates 9 6.17 -109.826 -6.358 0.0117 (df = 1)
run003b1 run003 Updating run003 to 003b1 with jittered params. Adding WT on V 10 -108.889 0.937 1 (df = 1)
Abbreviations:
OFV = Objective Function Value; ΔOFV = change in OFV from reference model;
Cond. No. = Condition Number; p-value from LRT (Likelihood Ratio Test); df =
degrees of freedom

Customizing Columns

Use set_spec_columns() to control which columns appear:

spec <- SummarySpec() |>
  set_spec_columns(
    "description",
    "estimation_method",
    "ofv",
    "dofv",
    "condition_number"
  )

tree |>
  apply_summary_spec(spec) |>
  make_summary_table()
Run Summary
Model Description Method OFV Δ\DeltaOFV Cond. No.
run001 Base model First Order Conditional Estimation with Interaction -103.299 1.98
run002 Adding COV step, unfixing eps(2) First Order Conditional Estimation with Interaction -103.468 -0.169 29.6
run003 Jittering initial estimates First Order Conditional Estimation with Interaction -109.826 -6.358 6.17
run003b1 Updating run003 to 003b1 with jittered params. Adding WT on V First Order Conditional Estimation with Interaction -108.889 0.937
Abbreviations:
OFV = Objective Function Value; ΔOFV = change in OFV from reference model;
Cond. No. = Condition Number

Available columns include: based_on, description, n_parameters, problem, number_data_records, number_subjects, number_obs, estimation_method, estimation_time, covariance_time, ofv, dofv, condition_number, termination_status, pvalue, df.

Filtering Models

Filter to specific models by name:

spec <- SummarySpec(models_to_include = c("run002", "run003"))

tree |>
  apply_summary_spec(spec) |>
  make_summary_table()
Run Summary
Model Reference Description No. Params Cond. No. OFV Δ\DeltaOFV p-value
run002 run001 Adding COV step, unfixing eps(2) 8 29.6 -103.468
run003 run002 Jittering initial estimates 9 6.17 -109.826 -6.358 0.0117 (df = 1)
Abbreviations:
OFV = Objective Function Value; ΔOFV = change in OFV from reference model;
Cond. No. = Condition Number; p-value from LRT (Likelihood Ratio Test); df =
degrees of freedom

Or use custom filter rules:

spec <- SummarySpec() |>
  set_spec_summary_filter(ofv < -104)

tree |>
  apply_summary_spec(spec) |>
  make_summary_table()
Run Summary
Model Reference Description No. Params Cond. No. OFV Δ\DeltaOFV p-value
run003 run002 Jittering initial estimates 9 6.17 -109.826 -6.358 0.0117 (df = 1)
run003b1 run003 Updating run003 to 003b1 with jittered params. Adding WT on V 10 -108.889 0.937 1 (df = 1)
Abbreviations:
OFV = Objective Function Value; ΔOFV = change in OFV from reference model;
Cond. No. = Condition Number; p-value from LRT (Likelihood Ratio Test); df =
degrees of freedom

P-value Formatting

Control p-value display with thresholds or scientific notation:

spec <- SummarySpec() |>
  set_spec_pvalue(threshold = 0.001)

tree |>
  apply_summary_spec(spec) |>
  make_summary_table()
Run Summary
Model Reference Description No. Params Cond. No. OFV Δ\DeltaOFV p-value
run001 Base model 6 1.98 -103.299
run002 run001 Adding COV step, unfixing eps(2) 8 29.6 -103.468 -0.169 0.919 (df = 2)
run003 run002 Jittering initial estimates 9 6.17 -109.826 -6.358 0.0117 (df = 1)
run003b1 run003 Updating run003 to 003b1 with jittered params. Adding WT on V 10 -108.889 0.937 1 (df = 1)
Abbreviations:
OFV = Objective Function Value; ΔOFV = change in OFV from reference model;
Cond. No. = Condition Number; p-value from LRT (Likelihood Ratio Test); df =
degrees of freedom
spec <- SummarySpec() |>
  set_spec_pvalue(scientific = TRUE)

tree |>
  apply_summary_spec(spec) |>
  make_summary_table()
Run Summary
Model Reference Description No. Params Cond. No. OFV Δ\DeltaOFV p-value
run001 Base model 6 1.98 -103.299
run002 run001 Adding COV step, unfixing eps(2) 8 29.6 -103.468 -0.169 9.19e-01 (df = 2)
run003 run002 Jittering initial estimates 9 6.17 -109.826 -6.358 1.17e-02 (df = 1)
run003b1 run003 Updating run003 to 003b1 with jittered params. Adding WT on V 10 -108.889 0.937 1e+00 (df = 1)
Abbreviations:
OFV = Objective Function Value; ΔOFV = change in OFV from reference model;
Cond. No. = Condition Number; p-value from LRT (Likelihood Ratio Test); df =
degrees of freedom

Table Title

spec <- SummarySpec() |>
  set_spec_title("PK Model Development Summary")

tree |>
  apply_summary_spec(spec) |>
  make_summary_table()
PK Model Development Summary
Model Reference Description No. Params Cond. No. OFV Δ\DeltaOFV p-value
run001 Base model 6 1.98 -103.299
run002 run001 Adding COV step, unfixing eps(2) 8 29.6 -103.468 -0.169 0.919 (df = 2)
run003 run002 Jittering initial estimates 9 6.17 -109.826 -6.358 0.0117 (df = 1)
run003b1 run003 Updating run003 to 003b1 with jittered params. Adding WT on V 10 -108.889 0.937 1 (df = 1)
Abbreviations:
OFV = Objective Function Value; ΔOFV = change in OFV from reference model;
Cond. No. = Condition Number; p-value from LRT (Likelihood Ratio Test); df =
degrees of freedom