Skip to contents

Calculate Creatinine Clearance (CrCl), a measure of renal function based on age, weight, gender, and serum creatinine. This is the Cockcroft and Gault Formula.

Usage

calculate_crcl(age, scr, sexf, wtkg)

Arguments

age

Age (y). Numeric vector.

scr

Serum Creatinine (mg/dL). Numeric vector.

sexf

Sex. Numeric vector including values of 0 and/or 1. 0=Male; 1=Female.

wtkg

Weight (kg). Numeric vector.

Value

This function returns a numeric vector the same length as its inputs

Details

Formula to calculate CRCL:
  Males: CRCL [mL/min] = ((140 - AGE [y]) × WTKG [kg]) ÷ (72 × SCR [mg/dL])
  Females: CRCL [mL/min] = (((140 - AGE [y]) × WTKG [kg]) ÷ (72 × SCR [mg/dL])) × 0.85

References

Cockcroft DW, Gault MH. Prediction of creatinine clearance from serum creatinine. Nephron. 1976;16:31-41.

See also

calculate_crcl_peck for Peck formula

Examples

library(dplyr)

dmcognigen_cov %>% 
  mutate(CRCL = calculate_crcl(
    age = AGE, 
    scr = SCR, 
    sexf = SEXF,
    wtkg = WTKG 
  ))
#> Formula to calculate CRCL: 
#>   Males: CRCL [mL/min] = ((140 - AGE [y]) × WTKG [kg]) ÷ (72 × SCR [mg/dL])
#>   Females: CRCL [mL/min] = (((140 - AGE [y]) × WTKG [kg]) ÷ (72 × SCR [mg/dL])) × 0.85
#> # A tibble: 254 × 53
#>    DOMAIN STUDYID USUBJID    ID RACEN RACEC  SEXF SEXFC  HTCM  WTKG   AST ASTULN
#>    <chr>  <chr>   <chr>   <dbl> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl>  <dbl>
#>  1 DM     CDISCP… 01-701… 10101     1 Whit…     1 Fema…  147.  54.4    40     34
#>  2 DM     CDISCP… 01-701… 10102     1 Whit…     0 Male   163.  80.3    21     36
#>  3 DM     CDISCP… 01-701… 10103     1 Whit…     0 Male   178.  99.3    24     36
#>  4 DM     CDISCP… 01-701… 10104     1 Whit…     0 Male   175.  88.4    20     36
#>  5 DM     CDISCP… 01-701… 10105     1 Whit…     1 Fema…  155.  62.6    23     34
#>  6 DM     CDISCP… 01-701… 10106     1 Whit…     1 Fema…  149.  67.1    25     34
#>  7 DM     CDISCP… 01-701… 10108     1 Whit…     0 Male   169.  78.0    19     36
#>  8 DM     CDISCP… 01-701… 10109     1 Whit…     1 Fema…  158.  59.9    28     34
#>  9 DM     CDISCP… 01-701… 10110     1 Whit…     0 Male   182.  78.9    26     36
#> 10 DM     CDISCP… 01-701… 10111     1 Whit…     0 Male   180.  71.2    15     36
#> # ℹ 244 more rows
#> # ℹ 41 more variables: SCR <dbl>, SCRULN <dbl>, TBIL <dbl>, TBILULN <dbl>,
#> #   ASTCAT <dbl>, BMI <dbl>, BSA <dbl>, IBW <dbl>, CRCL <dbl>, CRCLP <dbl>,
#> #   EGFR <dbl>, EGFRSCHW <dbl>, IBWCHILD <dbl>, LBM <dbl>, TBILCAT <dbl>,
#> #   RFCAT <dbl>, RFCATC <chr>, NCILIV <dbl>, NCILIVC <chr>, SUBJID <chr>,
#> #   RFSTDTC <chr>, RFENDTC <chr>, RFXSTDTC <chr>, RFXENDTC <chr>,
#> #   RFICDTC <chr>, RFPENDTC <chr>, DTHDTC <chr>, DTHFL <chr>, SITEID <chr>, …

# Below will also work if the dataset contains expected variables
dmcognigen_cov %>% 
  mutate(CRCL = calculate_crcl())
#> AGE variable found and used for the age argument.
#> SCR variable found and used for the scr argument.
#> SEXF variable found and used for the sexf argument.
#> WTKG variable found and used for the wtkg argument.
#> Formula to calculate CRCL: 
#>   Males: CRCL [mL/min] = ((140 - AGE [y]) × WTKG [kg]) ÷ (72 × SCR [mg/dL])
#>   Females: CRCL [mL/min] = (((140 - AGE [y]) × WTKG [kg]) ÷ (72 × SCR [mg/dL])) × 0.85
#> # A tibble: 254 × 53
#>    DOMAIN STUDYID USUBJID    ID RACEN RACEC  SEXF SEXFC  HTCM  WTKG   AST ASTULN
#>    <chr>  <chr>   <chr>   <dbl> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl>  <dbl>
#>  1 DM     CDISCP… 01-701… 10101     1 Whit…     1 Fema…  147.  54.4    40     34
#>  2 DM     CDISCP… 01-701… 10102     1 Whit…     0 Male   163.  80.3    21     36
#>  3 DM     CDISCP… 01-701… 10103     1 Whit…     0 Male   178.  99.3    24     36
#>  4 DM     CDISCP… 01-701… 10104     1 Whit…     0 Male   175.  88.4    20     36
#>  5 DM     CDISCP… 01-701… 10105     1 Whit…     1 Fema…  155.  62.6    23     34
#>  6 DM     CDISCP… 01-701… 10106     1 Whit…     1 Fema…  149.  67.1    25     34
#>  7 DM     CDISCP… 01-701… 10108     1 Whit…     0 Male   169.  78.0    19     36
#>  8 DM     CDISCP… 01-701… 10109     1 Whit…     1 Fema…  158.  59.9    28     34
#>  9 DM     CDISCP… 01-701… 10110     1 Whit…     0 Male   182.  78.9    26     36
#> 10 DM     CDISCP… 01-701… 10111     1 Whit…     0 Male   180.  71.2    15     36
#> # ℹ 244 more rows
#> # ℹ 41 more variables: SCR <dbl>, SCRULN <dbl>, TBIL <dbl>, TBILULN <dbl>,
#> #   ASTCAT <dbl>, BMI <dbl>, BSA <dbl>, IBW <dbl>, CRCL <dbl>, CRCLP <dbl>,
#> #   EGFR <dbl>, EGFRSCHW <dbl>, IBWCHILD <dbl>, LBM <dbl>, TBILCAT <dbl>,
#> #   RFCAT <dbl>, RFCATC <chr>, NCILIV <dbl>, NCILIVC <chr>, SUBJID <chr>,
#> #   RFSTDTC <chr>, RFENDTC <chr>, RFXSTDTC <chr>, RFXENDTC <chr>,
#> #   RFICDTC <chr>, RFPENDTC <chr>, DTHDTC <chr>, DTHFL <chr>, SITEID <chr>, …

# Set a cap at some value, like 160
dmcognigen_cov %>% 
  mutate(CRCL = pmin(calculate_crcl(), 160))
#> AGE variable found and used for the age argument.
#> SCR variable found and used for the scr argument.
#> SEXF variable found and used for the sexf argument.
#> WTKG variable found and used for the wtkg argument.
#> Formula to calculate CRCL: 
#>   Males: CRCL [mL/min] = ((140 - AGE [y]) × WTKG [kg]) ÷ (72 × SCR [mg/dL])
#>   Females: CRCL [mL/min] = (((140 - AGE [y]) × WTKG [kg]) ÷ (72 × SCR [mg/dL])) × 0.85
#> # A tibble: 254 × 53
#>    DOMAIN STUDYID USUBJID    ID RACEN RACEC  SEXF SEXFC  HTCM  WTKG   AST ASTULN
#>    <chr>  <chr>   <chr>   <dbl> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl>  <dbl>
#>  1 DM     CDISCP… 01-701… 10101     1 Whit…     1 Fema…  147.  54.4    40     34
#>  2 DM     CDISCP… 01-701… 10102     1 Whit…     0 Male   163.  80.3    21     36
#>  3 DM     CDISCP… 01-701… 10103     1 Whit…     0 Male   178.  99.3    24     36
#>  4 DM     CDISCP… 01-701… 10104     1 Whit…     0 Male   175.  88.4    20     36
#>  5 DM     CDISCP… 01-701… 10105     1 Whit…     1 Fema…  155.  62.6    23     34
#>  6 DM     CDISCP… 01-701… 10106     1 Whit…     1 Fema…  149.  67.1    25     34
#>  7 DM     CDISCP… 01-701… 10108     1 Whit…     0 Male   169.  78.0    19     36
#>  8 DM     CDISCP… 01-701… 10109     1 Whit…     1 Fema…  158.  59.9    28     34
#>  9 DM     CDISCP… 01-701… 10110     1 Whit…     0 Male   182.  78.9    26     36
#> 10 DM     CDISCP… 01-701… 10111     1 Whit…     0 Male   180.  71.2    15     36
#> # ℹ 244 more rows
#> # ℹ 41 more variables: SCR <dbl>, SCRULN <dbl>, TBIL <dbl>, TBILULN <dbl>,
#> #   ASTCAT <dbl>, BMI <dbl>, BSA <dbl>, IBW <dbl>, CRCL <dbl>, CRCLP <dbl>,
#> #   EGFR <dbl>, EGFRSCHW <dbl>, IBWCHILD <dbl>, LBM <dbl>, TBILCAT <dbl>,
#> #   RFCAT <dbl>, RFCATC <chr>, NCILIV <dbl>, NCILIVC <chr>, SUBJID <chr>,
#> #   RFSTDTC <chr>, RFENDTC <chr>, RFXSTDTC <chr>, RFXENDTC <chr>,
#> #   RFICDTC <chr>, RFPENDTC <chr>, DTHDTC <chr>, DTHFL <chr>, SITEID <chr>, …