Overview
egfr provides a vectorised set of equations for estimating glomerular filtration rate (eGFR) and creatinine clearance from serum creatinine, cystatin C, or both. This vignette shows the most common workflows.
These equations are screening tools and are not a substitute for measured GFR or clinical judgement.
A single estimate
The CKD-EPI 2021 creatinine equation is the recommended race-free default for adults:
egfr_ckdepi_cr_2021(creatinine = 1.0, age = 50, sex = "female")
#> [1] 68.6335Vectorisation
Every argument is vectorised, so you can score a whole cohort in one call:
egfr_ckdepi_cr_2021(
creatinine = c(0.8, 1.2, 1.5),
age = c(40, 65, 72),
sex = c("female", "male", "female")
)
#> [1] 95.46369 67.11141 36.79633Working with units
Creatinine defaults to mg/dL. Pass
creatinine_units = "umol/l" to supply SI units instead:
egfr_ckdepi_cr_2021(88.4, 50, "female", creatinine_units = "umol/l")
#> [1] 68.6335You can also convert explicitly:
convert_creatinine(88.4, from = "umol/l", to = "mg/dl")
#> [1] 1Cystatin C and combined equations
If you have cystatin C, or both biomarkers, use the matching function:
egfr_ckdepi_cys_2021(cystatin = 1.0, age = 50, sex = "female")
#> [1] 76.18999
egfr_ckdepi_cr_cys_2021(creatinine = 1.0, cystatin = 1.0, age = 50, sex = "female")
#> [1] 74.03625Staging the result
Classify an eGFR value into a KDIGO GFR category:
result <- egfr_ckdepi_cr_2021(1.0, 50, "female")
ckd_stage(result)
#> [1] "G2"Body surface area adjustment
Most equations return values normalised to 1.73 m^2. To obtain an absolute (de-indexed) GFR, compute the body surface area and adjust:
area <- bsa(weight = 70, height = 175)
gfr_bsa_adjust(result, bsa = area, to = "absolute")
#> [1] 73.32053Where to go next
See the function reference for the full list of adult, paediatric, and neonatal equations and helpers.