Calculates a comprehensive set of body shape and adiposity indices:
BMI and WHO BMI categories
Waist-to-hip ratio (WHR) and optional WHR adjusted for BMI (WHRadjBMI)
Waist-to-height ratio (WHtR)
Abdominal Volume Index (AVI)
Body Adiposity Index (BAI)
A Body Shape Index (ABSI)
Body Roundness Index (BRI)
Conicity Index (CI)
(Optional) Relative Fat Mass (RFM)
Usage
obesity_indices(
data,
weight,
height,
waist,
hip,
sex = NULL,
weight_unit = c("kg", "lb"),
height_unit = c("cm", "m"),
adjust_WHR = FALSE,
include_RFM = FALSE,
na_action = c("keep", "omit", "error"),
na_warn_prop = 0.2,
check_extreme = FALSE,
extreme_action = c("warn", "cap", "error", "ignore"),
extreme_rules = NULL,
verbose = FALSE
)Arguments
- data
A data.frame or tibble containing the input columns.
- weight
Unquoted column name for weight.
- height
Unquoted column name for height.
- waist
Unquoted column name for waist circumference.
- hip
Unquoted column name for hip circumference.
- sex
(Optional) Unquoted column name for sex, coded 0=male, 1=female; required if include_RFM=TRUE.
- weight_unit
One of c("kg","lb"); if "lb", converts weight to kg by *0.45359237.
- height_unit
One of c("cm","m"); if "cm", converts height to metres by /100.
- adjust_WHR
Logical; if TRUE, adds a column WHRadjBMI as residuals from WHR ~ BMI.
- include_RFM
Logical; if TRUE, computes Relative Fat Mass (requires sex column).
- na_action
One of c("keep","omit","error") for handling NA in required inputs. Default "keep".
- na_warn_prop
Proportion \([0,1]\) to trigger high-missingness warnings for required inputs. Default 0.2.
- check_extreme
Logical; if TRUE, scan inputs for out-of-range values (heuristic). Default FALSE.
- extreme_action
One of c("warn","cap","error","ignore") when extremes are detected. Default "warn".
- extreme_rules
Optional named list of c(min,max) for c("weight_kg","height_m","waist","hip"). NULL uses defaults.
- verbose
Logical; if TRUE, prints progress messages and a completion summary. Default FALSE.
Value
A tibble with only the computed indices (slim output):
weight_kg, height_m (unit-normalised intermediates),
BMI, BMI_cat,
WHR, WHRadjBMI (if
adjust_WHR = TRUE),waist_to_height_ratio, waist_to_BMI_ratio, weight_to_height_ratio,
AVI, BAI, ABSI, BRI, CI,
RFM (if
include_RFM = TRUE).
Details
Units assumed (no automatic conversion beyond the specified weight/height options):
weight: kg (or lb if weight_unit = "lb")
height: m (or cm if height_unit = "cm")
waist, hip: cm
sex: 0 = male, 1 = female (only required if include_RFM = TRUE)
References
Quetelet A (1842). A Treatise on Man, and the Development of his Faculties. William and Robert Chambers, Edinburgh. Historical monograph; no DOI assigned, https://archive.org/search?query=A%20Treatise%20on%20Man%20Quetelet. WHO Expert Committee (1995). “Physical Status: The Use and Interpretation of Anthropometry. WHO Technical Report Series 854.” World Health Organization, Geneva. No DOI for this WHO technical report; see URL, https://www.who.int/publications/i/item/9241208546. Guerrero-Romero F, Rodríguez-Morán M (2003). “Abdominal volume index. An anthropometric index of central obesity.” Archives of Medical Research, 34(6), 428–432. doi:10.1016/S0188-4409(03)00073-0 . Bergman RN, Stefanovski D, Buchanan TA, others (2011). “A better index of body adiposity.” Obesity (Silver Spring), 19(5), 1083–1089. doi:10.1038/oby.2011.38 . Krakauer NY, Krakauer JC (2012). “A new body shape index predicts mortality hazard independently of BMI.” PLoS One, 7(7), e39504. doi:10.1371/journal.pone.0039504 . Thomas DM, Bredlau C, Bosy-Westphal A, others (2013). “Relationships between body roundness with body fat and visceral adipose tissue emerging from a new geometrical model.” Obesity (Silver Spring), 21(11), 2264–2271. doi:10.1002/oby.20408 . Valdez R (1991). “A simple model-based index of abdominal adiposity.” Journal of Clinical Epidemiology, 44(9), 955–956. doi:10.1016/0895-4356(91)90059-I . Woolcott OO, Bergman RN (2018). “Relative fat mass (RFM) as a new estimator of whole-body fat percentage.” Scientific Reports, 8, 10980. doi:10.1038/s41598-018-29362-1 . Calle EE, Thun MJ, Petrelli JM, Rodriguez C, Heath Jr. CW (1999). “Body-mass index and mortality in a prospective cohort of U.S. adults.” New England Journal of Medicine, 341(15), 1097–1105. doi:10.1056/NEJM199910073411501 . Freedman DS, Thornton JC, Pi-Sunyer FX, others (2012). “The body adiposity index is not a more accurate measure of adiposity than BMI, waist circumference, or hip circumference.” Obesity (Silver Spring), 20(12), 2438–2444. doi:10.1038/oby.2012.81 . He S, Chen X (2013). “Could the new body shape index predict the new onset of diabetes mellitus in the Chinese population?” PLoS One, 8(1), e50573. doi:10.1371/journal.pone.0050573 . Maessen MF, Eijsvogels TM, Verheggen RJ, others (2014). “Entering a new era of body indices: the feasibility of ABSI and BRI to identify cardiovascular health status.” PLoS One, 9(9), e107212. doi:10.1371/journal.pone.0107212 .
Examples
library(tibble)
df <- tibble(
wt = c(70, 80), # kg
ht = c(175, 165),# cm
waist = c(80, 90), # cm
hip = c(100, 95), # cm
sex = c(0, 1)
)
obesity_indices(
df,
weight = wt,
height = ht,
waist = waist,
hip = hip,
sex = sex,
weight_unit = "kg",
height_unit = "cm",
adjust_WHR = TRUE,
include_RFM = TRUE,
verbose = TRUE
)
#> obesity_indices(): preparing inputs
#> obesity_indices(): column map: weight -> 'wt', height -> 'ht', waist -> 'waist', hip -> 'hip', sex -> 'sex'
#> obesity_indices(): results: weight_kg 2/2, height_m 2/2, BMI 2/2, BMI_cat 2/2, WHR 2/2, WHRadjBMI 2/2, waist_to_height_ratio 2/2, waist_to_BMI_ratio 2/2, weight_to_height_ratio 2/2, AVI 2/2, BAI 2/2, ABSI 2/2, BRI 2/2, CI 2/2, RFM 2/2
#> # A tibble: 2 × 15
#> weight_kg height_m BMI BMI_cat WHR WHRadjBMI waist_to_height_ratio
#> <dbl> <dbl> <dbl> <chr> <dbl> <dbl> <dbl>
#> 1 70 1.75 22.9 Normal weight 0.8 0 45.7
#> 2 80 1.65 29.4 Overweight 0.947 0 54.5
#> # ℹ 8 more variables: waist_to_BMI_ratio <dbl>, weight_to_height_ratio <dbl>,
#> # AVI <dbl>, BAI <dbl>, ABSI <dbl>, BRI <dbl>, CI <dbl>, RFM <dbl>