Compute the area under the curve (AUC) and the area under the moment curve (AUMC) for pharmacokinetic (PK) data. AUC and AUMC are used for many purposes when analyzing PK in drug development.
pk.calc.auxc(
conc,
time,
interval = c(0, Inf),
clast = pk.calc.clast.obs(conc, time, check = FALSE),
lambda.z = NA,
auc.type = c("AUClast", "AUCinf", "AUCall"),
options = list(),
method = NULL,
conc.blq = NULL,
conc.na = NULL,
check = TRUE,
fun_linear,
fun_log,
fun_inf
)pk.calc.auc(conc, time, ..., options = list())
pk.calc.auc.last(conc, time, ..., options = list())
pk.calc.auc.inf(conc, time, ..., options = list(), lambda.z)
pk.calc.auc.inf.obs(conc, time, clast.obs, ..., options = list(), lambda.z)
pk.calc.auc.inf.pred(conc, time, clast.pred, ..., options = list(), lambda.z)
pk.calc.auc.all(conc, time, ..., options = list())
pk.calc.aumc(conc, time, ..., options = list())
pk.calc.aumc.last(conc, time, ..., options = list())
pk.calc.aumc.inf(conc, time, ..., options = list(), lambda.z)
pk.calc.aumc.inf.obs(conc, time, clast.obs, ..., options = list(), lambda.z)
pk.calc.aumc.inf.pred(conc, time, clast.pred, ..., options = list(), lambda.z)
pk.calc.aumc.all(conc, time, ..., options = list())
A numeric value for the AU(M)C.
Measured concentrations
Time of the measurement of the concentrations
Numeric vector of two numbers for the start and end time of integration
The last concentration above the limit of quantification; this is used for AUCinf calculations. If provided as clast.obs (observed clast value, default), AUCinf is AUCinf,obs. If provided as clast.pred, AUCinf is AUCinf,pred.
The elimination rate (in units of inverse time) for extrapolation
The type of AUC to compute. Choices are 'AUCinf', 'AUClast', and 'AUCall'.
List of changes to the default PKNCA options (see
PKNCA.options()
)
The method for integration (one of 'lin up/log down', 'lin-log', or 'linear')
How to handle BLQ values in between the first and last above
LOQ concentrations. (See clean.conc.blq()
for usage instructions.)
How to handle missing concentration values. (See
clean.conc.na()
for usage instructions.)
Run assert_conc_time()
, clean.conc.blq()
, and
clean.conc.na()
?
The function to use for integration of the linear part of the curve (not required for AUC or AUMC functions)
The function to use for integration of the logarithmic part of the curve (if log integration is used; not required for AUC or AUMC functions)
The function to use for extrapolation from the final measurement to infinite time (not required for AUC or AUMC functions.
For functions other than pk.calc.auxc
, these values are passed
to pk.calc.auxc
pk.calc.auc()
: Compute the area under the curve
pk.calc.auc.last()
: Compute the AUClast.
pk.calc.auc.inf()
: Compute the AUCinf
pk.calc.auc.inf.obs()
: Compute the AUCinf with the observed Clast.
pk.calc.auc.inf.pred()
: Compute the AUCinf with the predicted Clast.
pk.calc.auc.all()
: Compute the AUCall.
pk.calc.aumc()
: Compute the area under the moment curve
pk.calc.aumc.last()
: Compute the AUMClast.
pk.calc.aumc.inf()
: Compute the AUMCinf
pk.calc.aumc.inf.obs()
: Compute the AUMCinf with the observed Clast.
pk.calc.aumc.inf.pred()
: Compute the AUMCinf with the predicted Clast.
pk.calc.aumc.all()
: Compute the AUMCall.
pk.calc.auc.last
is simply a shortcut setting the interval
parameter to c(0, "last")
.
Extrapolation beyond Clast occurs using the half-life and Clast,obs; Clast,pred is not yet supported.
If all conc input are zero, then the AU(M)C is zero.
Gabrielsson J, Weiner D. "Section 2.8.1 Computation methods - Linear trapezoidal rule." Pharmacokinetic & Pharmacodynamic Data Analysis: Concepts and Applications, 4th Edition. Stockholm, Sweden: Swedish Pharmaceutical Press, 2000. 162-4.
Gabrielsson J, Weiner D. "Section 2.8.3 Computation methods - Log-linear trapezoidal rule." Pharmacokinetic & Pharmacodynamic Data Analysis: Concepts and Applications, 4th Edition. Stockholm, Sweden: Swedish Pharmaceutical Press, 2000. 164-7.
clean.conc.blq()
Other AUC calculations:
pk.calc.aucint()
myconc <- c(0, 1, 2, 1, 0.5, 0.25, 0)
mytime <- c(0, 1, 2, 3, 4, 5, 6)
pk.calc.auc(myconc, mytime, interval=c(0, 6))
pk.calc.auc(myconc, mytime, interval=c(0, Inf))
Run the code above in your browser using DataLab