% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/obesity_metrics.R
\name{obesity_indices}
\alias{obesity_indices}
\title{Compute anthropometric obesity & adiposity indices}
\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,
  verbose = TRUE
)
}
\arguments{
\item{data}{A data.frame or tibble containing the input columns.}

\item{weight}{Unquoted column name for weight.}

\item{height}{Unquoted column name for height.}

\item{waist}{Unquoted column name for waist circumference.}

\item{hip}{Unquoted column name for hip circumference.}

\item{sex}{(Optional) Unquoted column name for sex, coded 0=male, 1=female; required if include_RFM=TRUE.}

\item{weight_unit}{One of c("kg","lb"); if "lb", converts weight to kg by *0.45359237.}

\item{height_unit}{One of c("cm","m"); if "cm", converts height to metres by /100.}

\item{adjust_WHR}{Logical; if TRUE, adds a column WHRadjBMI as residuals from WHR ~ BMI.}

\item{include_RFM}{Logical; if TRUE, computes Relative Fat Mass (requires sex column).}

\item{na_action}{One of c("keep","omit","error") for handling NA in required inputs. Default "keep".}

\item{na_warn_prop}{Proportion \eqn{[0,1]} to trigger high-missingness warnings for required inputs. Default 0.2.}

\item{verbose}{Logical; if TRUE, prints column mapping and computing messages.}
}
\value{
A tibble with only the computed indices (slim output):
\itemize{
\item weight_kg, height_m (unit-normalised intermediates),
\item BMI, BMI_cat,
\item WHR, WHRadjBMI (if \code{adjust_WHR = TRUE}),
\item waist_to_height_ratio, waist_to_BMI_ratio, weight_to_height_ratio,
\item AVI, BAI, ABSI, BRI, CI,
\item RFM (if \code{include_RFM = TRUE}).
}
}
\description{
Calculates a comprehensive set of body shape and adiposity indices:
\itemize{
\item BMI and WHO BMI categories
\item Waist-to-hip ratio (WHR) and optional WHR adjusted for BMI (WHRadjBMI)
\item Waist-to-height ratio (WHtR)
\item Abdominal Volume Index (AVI)
\item Body Adiposity Index (BAI)
\item A Body Shape Index (ABSI)
\item Body Roundness Index (BRI)
\item Conicity Index (CI)
\item (Optional) Relative Fat Mass (RFM)
}
}
\details{
Units assumed (no automatic conversion beyond the specified weight/height options):
\itemize{
\item weight: kg (or lb if weight_unit = "lb")
\item height: m (or cm if height_unit = "cm")
\item waist, hip: cm
}

Note: WHtR, ABSI, BRI, CI, and RFM all require waist in the same unit as
height (metres). The function converts waist internally (waist_cm / 100)
for these five indices; users should always supply waist in cm.
\itemize{
\item sex: 0 = male, 1 = female (only required if include_RFM = TRUE)
}
}
\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
)
}
\references{
\insertRef{quetelet1842}{HealthMarkers}
\insertRef{who1995physicalstatus}{HealthMarkers}
\insertRef{guerrero1999avi}{HealthMarkers}
\insertRef{bergman2011bai}{HealthMarkers}
\insertRef{krakauer2012absi}{HealthMarkers}
\insertRef{thomas2013bri}{HealthMarkers}
\insertRef{valdez1991ci}{HealthMarkers}
\insertRef{woolcott2018rfm}{HealthMarkers}
\insertRef{calle1999bmi}{HealthMarkers}
\insertRef{freedman2012bai}{HealthMarkers}
\insertRef{he2013absi}{HealthMarkers}
\insertRef{maessen2014bri}{HealthMarkers}
}
