Skip to contents

Calculates adjusted ideal body weight, which accounts for excess body weight in obese patients.

Usage

aibw(
  weight,
  height,
  sexf,
  age,
  allow_ibw_lt_intercept = TRUE,
  allow_tbw_lt_ibw = TRUE
)

Arguments

weight

baseline weight of subject in kilograms

height

baseline height of subject in centimeters

sexf

0 = male, 1 = female, from sexf()

age

Numeric vector of baseline age in years.

allow_ibw_lt_intercept

logical indicating whether to allow ideal body weight to be lower than intercepts (default TRUE).

allow_tbw_lt_ibw

logical indicating whether to allow adjusted ideal body weight to be less than IBW (default TRUE).

Value

adjusted ideal body weight (kg)

Details

Adjusted ideal body weight is calculated as: $$AIBW = IBW + 0.4 \cdot (TBW - IBW)$$

where:

  • \(IBW\) = ideal body weight (kg)

  • \(TBW\) = total (actual) body weight (kg)

See also

Other body_composition: bmi(), bmic(), bsa(), dubois_bsa(), ibw(), mosteller_bsa()

Examples

df <- data.frame(
  ID = 1:6,
  HEIGHT = c(160, 170, 175, 165, 180, 150),
  WEIGHT = c(53, 71, 78, 55, 72, 43),
  SEX = c(1, 0, 0, 1, 0, 1),
  AGE = c(18, 27, 34, 33, 29, 30)
)
df <- dplyr::mutate(df, AIBW = aibw(WEIGHT, HEIGHT, SEX, AGE))
df
#>   ID HEIGHT WEIGHT SEX AGE     AIBW
#> 1  1    160     53   1  18 52.62913
#> 2  2    170     71   0  27 67.96220
#> 3  3    175     78   0  34 73.47874
#> 4  4    165     55   1  33 56.14567
#> 5  5    180     72   0  29 73.79528
#> 6  6    150     43   1  30 43.19606