Tracking Exercise Trends with NHANES

[This article was first published on R – NYC Data Science Academy Blog, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Contributed by Thomas Kassel. He is currently enrolled in the NYC Data Science Academy 17-week remote bootcamp program taking place from January-April 2017. This post is based on his second class project, R Shiny (due on the 6th week of the program).




The National Health and Nutrition Examination Survey (NHANES) is one of the foremost assessments of health statistics for children and adults in the United States. Sponsored by the Centers for Disease Control, NHANES combines interviews with physical examinations and laboratory tests for approximately 5,000 Americans each year. Results are compiled, anonymized and made publicly available at the program’s website on a rolling basis. These datasets are a major source of information for further studies ranging from simple national averages for physiological measurements (height or weight) to epidemiological trends for public health policy reform.

American Health Stats App

The 2013-2014 NHANES publication is made accessible through an R shiny application, providing an interactive environment for users to explore data trends. Because of the wide range of information gathered by the survey, the app focuses on a subset of the findings, drawing particular attention to the prevalence of exercise and associated health outcomes across demographic groups.

Overview App



NHANES divides results into many separate tables for more manageable file download sizes. The app makes use of the following datasets (including but not limited to):

  • Demographics – gender, age, ethnicity, education, annual household income, household size
  • Exercise – minutes of various forms of physical activity per day
  • Examination/Laboratory – physiological measurements

The common field across tables is the sequence ID, a unique identifier for each survey participant which can be used for joining operations across any/all tables. Let’s take a look at the initial raw data import of many NHANES tables and an example dplyr left_join operation to quickly aggregate information by survey participant.

View the code on Gist.

View the code on Gist.



What demographic cohorts are covered by NHANES?

The “Overview & Demographics” tab allows users to explore this question. NHANES appears to be a nationally representative sample of the U.S. population across gender, education level and income. However, certain populations of particular interest to public health policy, such as developing youths under 18 years old, make up a relatively large cohort. 

Demographics - Age by Ethnicity


Which populations regularly engage in physical activity? 

The “Explore Exercise Trends” tab provides exploratory visualization of who is getting exercise, in what form and amount, and the possible health outcomes associated. Density curves help to illustrate exercise trends and confirm preconceptions about some of the grouping (i.e. demographic) variables involved in those trends.

Below we observe that, with each drop in level of education – from college/advanced graduate down to high school dropout – the density curve’s average moves from left to right. This implies a direct inverse relationship between minutes per day conducting “vigorous or moderate” physical activity at the workplace, i.e. manual labor, and education.

Workplace Exercise by Education


What health outcomes associate with physical activity?

Minutes per day of physical activity – whether in the workplace, recreationally; vigorous, moderate or otherwise – are used as the predictor variable in a scatterplot to explore correlations with a variety of health outcomes such as weight, BMI, cholesterol, or blood pressure.

Pulse vs Exercise

Above we observe a clear negative correlation between resting pulse (bpm) and average minutes per day of vigorous recreational activity. Through the use of interactive graphing package Plotly, we gain further information from mouseover tooltips in this visual: of participants getting an average 180 mins of exercise per day, none had a resting pulse of over 98 bpm.

Other relationships explored, such as cholesterol levels versus exercise habits, highlight the limitations of taking a bivariate approach in predicting health outcomes. For example, we might assume a negative correlation between amount of exercise and LDL cholesterol levels, but in the case below we observe this correlation to actually be positive. This suggests the study could benefit from other known associations to cholesterol such as diet (perhaps individuals with moderate-exercise jobs tend to have higher-cholesterol diets) and genetic disposition.



Next Steps

As alluded to in the previous section, addition of variables to the shiny app could provide a more comprehensive overview of health outcomes. Chief among these would be an exploration of dietary/nutritional and lifestyle habits (e.g. smoking, drug use), both of which NHANES has collected for each participant. Since the NHANES is an ongoing and continuously developing program, there is further potential to track the movement of these trends over time.

The post Tracking Exercise Trends with NHANES appeared first on NYC Data Science Academy Blog.

To leave a comment for the author, please follow the link and comment on their blog: R – NYC Data Science Academy Blog. offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)