Calculate clearance using an adaptive single-point method
Source:R/run_single_point_base.R
calculate_cl.RdCalculates clearance using an adaptive single-point pharmacokinetic method
Usage
calculate_cl(
dat,
half_life = NULL,
dose_type = NULL,
pooled_ctrl = pooled_control(),
ssctrl = ss_control()
)Arguments
- dat
A data frame containing pharmacokinetic data. Required columns typically include ID, TIME, DV, tad, recent_ii, dose, routeobs, and durationobs.
- half_life
Optional numeric value for the drug's half-life. If not provided, half-life is estimated using
get_hf()from pooled observations.- dose_type
Specifies the dosing context of the pharmacokinetic observations. Required when half_life is not provided. Classified as first_dose, repeated_doses, or combined_doses based on whether observed concentrations occur following the first administration, during repeated dosing, or across both contexts.
- pooled_ctrl
Optional list of control parameters used by
get_pooled_data()for pooling observations. Defaults to output frompooled_control().- ssctrl
A list of control parameters generated by
ss_control()to guide the detection of steady-state observations.
Value
A list containing:
dat: the processed dataset with steady-state identification
cl_df: individual clearance estimates
trimmed_mean_cl: the population clearance calculated as a trimmed geometric mean with a 5 percent trimming level to reduce the impact of outliers
Details
Estimates individual and population clearance from steady-state
pharmacokinetic data. If half-life is not provided, it is estimated
from pooled data using get_hf() and pooling rules defined in
pooled_control().
The procedure:
Identifies steady-state observations using
is_ss()andss_control()criteria.Selects peak and trough concentrations within each dose interval to represent steady-state behavior.
Classifies concentration points as Cssmax, Cssmin, or Cssavg based on timing within the interval and decay pattern.
Computes individual clearance as Dose / (Cssavg × tau).
Aggregates individual clearance values using a trimmed geometric mean to obtain a population estimate.
Supports bolus, infusion, and oral administration routes.
Examples
dat <- processData(Bolus_1CPT)$dat
#>
#>
#> Infometrics Value
#> ---------------------------------------- ---------------
#> Dose Route bolus
#> Dose Type combined_doses
#> Number of Subjects 120
#> Number of Observations 6951
#> Subjects with First-Dose Interval Data 120
#> Observations in the First-Dose Interval 2276
#> Subjects with Multiple-Dose Data 120
#> Observations after Multiple Doses 4675
#> ---------------------------------------- ------
calculate_cl(dat, get_hf(dat)$half_life_median)$trimmed_mean_cl
#> Estimating half-life....................
#> Half-life estimation complete: Estimated t1/2 = 11 h
#> [1] 3.041352