library(tidyverse)
library(knitr)
nhanes <- read_csv("data/nhanes_equity_v6.csv", show_col_types = FALSE)BMI Patterns by Income Group
Audience question
Audience: Municipal public-health staff preparing an internal health-equity briefing.
Question: Among adults age 20-80 in the prepared classroom dataset, how does average BMI vary across NHANES cycles for one selected income group?
Setup
Choose one income group
This small Quarto product uses a render-time control. Change selected_income, then render the page again. The table, title, plot, and interpretation update together.
available_income_groups <- sort(unique(na.omit(nhanes$IncomeGroup)))
selected_income <- "Low Income (<1.3)"
if (!selected_income %in% available_income_groups) {
selected_income <- available_income_groups[1]
}
selected_income[1] "Low Income (<1.3)"
Summary table
dashboard_summary <- nhanes |>
filter(
Age >= 20,
Age <= 80,
IncomeGroup == selected_income,
!is.na(BMI),
!is.na(Cycle)
) |>
group_by(Cycle) |>
summarise(
n = n(),
average_bmi = round(mean(BMI), 1),
.groups = "drop"
)
kable(
dashboard_summary,
col.names = c("NHANES cycle", "Records", "Average BMI (kg/m²)")
)| NHANES cycle | Records | Average BMI (kg/m²) |
|---|---|---|
| 1999-2000 | 1091 | 28.8 |
| 2001-2002 | 1089 | 28.7 |
| 2003-2004 | 1183 | 28.6 |
| 2005-2006 | 1091 | 29.3 |
| 2007-2008 | 1552 | 29.1 |
| 2009-2010 | 1817 | 29.5 |
| 2011-2012 | 1724 | 29.4 |
| 2013-2014 | 1762 | 29.5 |
| 2015-2016 | 1568 | 30.0 |
| 2017-2018 | 1275 | 30.1 |
| 2021-2023 | 1141 | 30.4 |
Cycle pattern
ggplot(dashboard_summary, aes(Cycle, average_bmi, group = 1)) +
geom_line(linewidth = 0.9, color = "#2f6f73") +
geom_point(size = 2.4, color = "#2f6f73") +
expand_limits(y = 0) +
labs(
title = paste("Average BMI for", selected_income),
subtitle = "Adults age 20-80 in the prepared classroom dataset",
x = "NHANES cycle",
y = "Average BMI (kg/m²)"
) +
theme_minimal(base_size = 12) +
theme(axis.text.x = element_text(angle = 45, hjust = 1))Interpretation
For Low Income (<1.3), the cycle-specific averages range from approximately 28.6 to 30.4 kg/m² in the prepared records. Use the page to identify a pattern or question for a briefing, not to rank communities or infer a cause.
Limitation and privacy caution
This page is an unweighted, descriptive classroom summary. It does not account for the NHANES survey design, estimate the US population, or show that income causes BMI differences. Records with missing BMI, income group, cycle, or ages outside 20-80 are excluded. Only aggregate summaries are displayed; row-level records must not be uploaded to AI tools or shown in a public preview.