Skip to contents

Calculate Lean Body Mass (LBM), an estimation of how much someone weighs without the body fat; how much a persons bones, organs and muscles weigh

Usage

calculate_lbm(htcm, sexf, wtkg)

Arguments

htcm

Height (cm). 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 LBM:
  Males: LBM [kg] = (1.10 × WTKG [kg]) - 128 × ((WTKG [kg]) ^ 2 ÷ (HTCM [cm]) ^ 2)
  Females: LBM [kg] = (1.07 × WTKG [kg]) - 148 × ((WTKG [kg]) ^ 2 ÷ (HTCM [cm]) ^ 2)

References

Hallynck TH, Soep HH, Thomis JA, et al. Should clearance be normalised to body surface or to lean body mass? Br J Clin Pharmacol. 1981;11:523-526

James WPT. Research on obesity. London. Her Majesty's Stationery Office. 1976

Examples

library(dplyr)

dmcognigen_cov %>% 
  mutate(LBM = calculate_lbm(
    htcm = HTCM,
    sexf = SEXF, 
    wtkg = WTKG 
  ))
#> Formula to calculate LBM: 
#>   Males: LBM [kg] = (1.10 × WTKG [kg]) - 128 × ((WTKG [kg]) ^ 2 ÷ (HTCM [cm]) ^ 2)
#>   Females: LBM [kg] = (1.07 × WTKG [kg]) - 148 × ((WTKG [kg]) ^ 2 ÷ (HTCM [cm]) ^ 2)
#> # 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(LBM = calculate_lbm())
#> HTCM variable found and used for the htcm argument.
#> SEXF variable found and used for the sexf argument.
#> WTKG variable found and used for the wtkg argument.
#> Formula to calculate LBM: 
#>   Males: LBM [kg] = (1.10 × WTKG [kg]) - 128 × ((WTKG [kg]) ^ 2 ÷ (HTCM [cm]) ^ 2)
#>   Females: LBM [kg] = (1.07 × WTKG [kg]) - 148 × ((WTKG [kg]) ^ 2 ÷ (HTCM [cm]) ^ 2)
#> # 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>, …