Calculate Ideal Body Weight (IBW), a measure of potential body fat based on height
References
Robinson JD, Lupkiewicz SM, Palenik L, Lopez LM, Ariet M. Determination of ideal body weight for drug dosage calculations. AmJHosp Pharm. 1983;40:1016-1019
Examples
library(dplyr)
dmcognigen_cov %>% 
  mutate(IBW = calculate_ibw(htcm = HTCM, sexf = SEXF))
#> Formula to calculate IBW: 
#>   Males: IBW [kg] = 51.65 [kg] + 1.85 [kg] × ((HTCM [cm] ÷ 2.54) - 60)
#>   Females: IBW [kg] = 48.67 [kg] + 1.65 [kg] × ((HTCM [cm] ÷ 2.54) - 60)
#> # 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(IBW = calculate_ibw())
#> HTCM variable found and used for the htcm argument.
#> SEXF variable found and used for the sexf argument.
#> Formula to calculate IBW: 
#>   Males: IBW [kg] = 51.65 [kg] + 1.85 [kg] × ((HTCM [cm] ÷ 2.54) - 60)
#>   Females: IBW [kg] = 48.67 [kg] + 1.65 [kg] × ((HTCM [cm] ÷ 2.54) - 60)
#> # 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>, …