
Categorize Body Mass Index
bmic.RdCategorizes individuals based on their Body Mass Index (BMI) according to standard WHO obesity classification criteria. Validates age to ensure appropriate application of adult BMI categories.
Details
BMI Categories:
1: Underweight: BMI < 18.5 kg/m²
2: Normal weight: BMI 18.5 to < 25 kg/m²
3: Overweight: BMI 25 to < 30 kg/m²
4: Obese: BMI ≥ 30 kg/m²
Age Considerations: The function will warn if any individuals are under 18 years old, as standard adult BMI categories may not be appropriate for children and adolescents.
References
World Health Organization. https://www.who.int/news-room/fact-sheets/detail/obesity-and-overweight
See also
bmi for calculating BMI from weight and height,
agec for age categorization
Other body_composition:
aibw(),
bmi(),
bsa(),
dubois_bsa(),
ibw(),
mosteller_bsa()
Examples
patients <- data.frame(
ID = 1:6,
AGE = c(25, 45, 17, 55, 30, 65),
WEIGHT = c(60, 80, 70, 90, 75, 85),
HEIGHT = c(165, 175, 170, 180, 160, 175)
)
dplyr::mutate(
patients,
BMI = bmi(WEIGHT, HEIGHT),
BMIC = bmic(BMI, AGE)
)
#> Warning: There was 1 warning in `dplyr::mutate()`.
#> ℹ In argument: `BMIC = bmic(BMI, AGE)`.
#> Caused by warning in `bmic()`:
#> ! Age contains values less than 18 years. Adult BMI categories may not be appropriate for pediatric populations.
#> ID AGE WEIGHT HEIGHT BMI BMIC
#> 1 1 25 60 165 22.03857 2
#> 2 2 45 80 175 26.12245 3
#> 3 3 17 70 170 24.22145 2
#> 4 4 55 90 180 27.77778 3
#> 5 5 30 75 160 29.29687 3
#> 6 6 65 85 175 27.75510 3