approx.vc: Approximate volume of distribution from observed Cmax

View source: R/approx.vc.R

approx.vcR Documentation

Approximate volume of distribution from observed Cmax

Description

Estimates the volume of distribution (Vd) from observed peak concentrations (Cmax) in single-dose, multiple-dose, or mixed datasets.

Usage

approx.vc(
  dat = NULL,
  half_life = NULL,
  single_point_base.lst = NULL,
  route = c("bolus", "oral", "infusion"),
  dose_type = NULL,
  pooled_ctrl = pooled_control(),
  ssctrl = ss_control()
)

Arguments

dat

A data frame containing pharmacokinetic data, including observed concentrations (DV), time after dose (tad), dose, and route information.

half_life

The elimination half-life (t1/2) of the compound, used to identify early-phase Cmax values.

single_point_base.lst

Optional list object returned by run_single_point_base(). If not supplied, the function will generate it internally.

route

Route of administration. One of "bolus", "oral", or "infusion" (default = "bolus").

dose_type

Optional string specifying the dosing type, passed to run_single_point_base().

pooled_ctrl

Control object created by pooled_control(), defining data pooling options.

ssctrl

Control object created by ss_control(), defining steady-state control options.

Details

Estimates individual apparent volumes of distribution from observed peak concentrations. Individual estimates are then summarized to obtain a population-level value.

For single-dose data, Vd is calculated according to the route of administration:

  • Bolus: V_d = \mathrm{Dose} / C_{\mathrm{max}}

  • Infusion: V_d = (\mathrm{Rate} \times t_{\mathrm{inf}}) / C_{\mathrm{max}}

  • Oral: V_d = (\mathrm{Dose} \times F) / C_{\mathrm{max}}, where F = 1 - e^{-k_a t}

For multiple-dose data, observed Cmax values are adjusted to single-dose equivalents using the accumulation ratio:

R_{\mathrm{ac}} = \frac{1}{1 - e^{-k_e \tau}}, \quad k_e = \ln(2)/t_{1/2}

Adjusted values are used to estimate Vd using the same route-specific equations.

Value

A list containing individual and population Vd estimates and related dose-level data.

Author(s)

Zhonghui Huang

See Also

run_single_point_base, trimmed_geom_mean, pooled_control, ss_control

Examples

# Process dataset
out <- processData(Bolus_1CPT)
# Get half-life and dose route
hf <- get_hf(dat = out$dat)$half_life_median
rt <- out$Datainfo$Value[out$Datainfo$Infometrics == "Dose Route"]
# Estimate Vd
approx.vc(dat = out$dat, half_life = hf, route = rt)$approx.vc.value

nlmixr2autoinit documentation built on Nov. 14, 2025, 1:07 a.m.