Learn R Programming

nlmixr2autoinit (version 1.0.0)

approx.vc: 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()
)

Value

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

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.

Author

Zhonghui Huang

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.

See Also

run_single_point_base, trimmed_geom_mean, pooled_control, ss_control

Examples

Run this code
# 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

Run the code above in your browser using DataLab