Skip to contents

Calculates ideal body weight using the Devine equation. By default, applies intercepts for individuals shorter than 5 feet (152.4 cm).

Usage

ibw(height, sexf, age, allow_ibw_lt_intercept = TRUE)

Arguments

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 apply intercepts for heights < 152.4 cm (5 feet). When TRUE (default), ideal weight is set to intercept weight (50 kg for males, 45.5 kg for females)

Value

ideal body weight (kg)

Details

The Devine equation for ideal body weight: $$IBW = I + 2.3 \cdot (H_{in} - 60)$$

where:

  • \(I\) = 50 kg (male) or 45.5 kg (female)

  • \(H_{in}\) = height in inches (60 inches = 5 feet = 152.4 cm)

References

The Origin of the "Ideal" Body Weight Equations, by Pai and Paloucek. The annals of Pharmacotherapy 2000 september, volumn 34

See also

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

Examples

df <- data.frame(
  ID = 1:6,
  HEIGHT = c(160, 170, 175, 165, 180, 150),
  SEX = c(1, 0, 0, 1, 0, 1),
 AGE = c(18, 27, 34, 33, 29, 30)
)
df <- dplyr::mutate(df, IBW = ibw(HEIGHT, SEX, AGE))
df
#>   ID HEIGHT SEX AGE      IBW
#> 1  1    160   1  18 52.38189
#> 2  2    170   0  27 65.93701
#> 3  3    175   0  34 70.46457
#> 4  4    165   1  33 56.90945
#> 5  5    180   0  29 74.99213
#> 6  6    150   1  30 43.32677