flowchart LR
A[Concentration\ndata frame] --> B[PKNCAconc]
C[Dose\ndata frame] --> D[PKNCAdose]
B --> E[PKNCAdata]
D --> E
F[Intervals\nspecification] -.->|optional override| E
E --> G[pk.nca]
G --> H[PKNCAresults]
H --> I[summary]
H --> J[as.data.frame]
PKNCA: Noncompartmental Analysis in R
A comprehensive guide to the PKNCA R package (≥ 0.12.2) — covering every function, parameter, and workflow with runnable examples.
PKNCA is an R package for automated noncompartmental analysis (NCA). It calculates PK parameters (AUC, Cmax, half-life, clearance, volume, and many more) from concentration-time data, supports IV and extravascular routes, urine excretion, sparse sampling, multiple-dose designs, and CDISC-aligned output. This book documents PKNCA ≥ 0.12.2 with runnable examples throughout.
0.1 What is NCA?
Noncompartmental analysis (NCA) derives pharmacokinetic parameters directly from observed data using numerical integration — no compartmental model assumptions required. NCA is used to answer:
- How much drug was absorbed? → AUC
- How fast was drug eliminated? → half-life, λz
- How high did concentrations get? → Cmax
- How quickly was drug cleared? → CL, Vz
0.2 Core Workflow
| Object | Purpose |
|---|---|
PKNCAconc |
Where is concentration data; how is it grouped? |
PKNCAdose |
Dose amount, time, and route |
PKNCAdata |
Parameters and analysis intervals |
PKNCAresults |
Computed NCA parameters, units, exclusion flags |
0.3 Route-specific parameters
| Parameter | IV | Extravascular |
|---|---|---|
| C0 (extrapolated at t=0) | ✓ | — |
| Cmax | ✓ | ✓ |
| Tmax | ✓ | ✓ |
| AUClast / AUCinf | ✓ | ✓ |
| Half-life (λz) | ✓ | ✓ |
| CL (true clearance) | ✓ | — (apparent: CL/F) |
| Vz (volume) | ✓ | — (apparent: Vz/F) |
| Bioavailability (F) | reference | ✓ |
0.4 What’s new in 0.12.2
normalize_by_col()/normalize()— dose-normalize results using a column in the result data frametminparameter — minimum pre-Tmax concentration- Tobit regression for half-life (now on CRAN; previously GitHub only)
- Sparse AUMC and five new sparse-derived parameters (
cl.sparse.last,kel.sparse.last,mrt.ivint.last,vss.sparse.last,vz.sparse.last) - New excretion parameters:
volpk,ermax,ertmax,ertlst, dose-normalized renal clearance (clr.*.dn) lambda.z.corrxy— correlation between x and y in the λz regressionpknca_units_table()is now an S3 generic with aPKNCAdatamethodget_halflife_points()works directly onPKNCAdataobjects; handlesstart ≠ 0correctly