Anthropometric Birthday Cards
Abstract:
We visualize children reference populations for height, weight and body mass index by plotting percentiles of the population as a function of age. Besides the epidemiological interest in these anthropometric curves, they have dual-use potential for reproducible birthday cards.
This work is licensed under a Creative Commons
Attribution-ShareAlike 4.0 International License. The R-markdown
source code of this blog is available under a GNU General Public
License (GPL v3) license from GitHub.
Introduction
Percentiles of a reference population at a given age are often used to assess under- and overweight of children. As an example, the WHO defines obesity for children under 5 years of age when the weight-for-height of a child is greater than 3 standard deviations above WHO Child Growth Standards median for that age (see also the WHO R package anthro).
In order to estimate these percentiles, data from a sample of the
reference population is often fitted using flexible regression models
such as GAMLSS (Rigby and Stasinopoulos
2005) or quantile regression (Koenker 2005). This allows for a
flexible modelling of the percentiles as smooth functions of age (Fenske et al.
2013). The reference curves used in Germany are based on the
Box-Cox Cole and Green distribution (Kromeyer-Hauschild et al.
2001) (aka. the LMS method). The childsds
R package contains an implementation of these curves as
data(kro.ref)
. Furthermore, the package contains similar
reference curves for several other countries as well as the WHO
reference.
In what follows, we will re-purpose the package as work-horse for generating individualized birthday cards for children.
Results
Quantiles of the reference population are obtained with the
childsds::make_percentile_tab
function. As an example,
let’s get the 5th, 50th and 95th percentile of the height distribution
for the population of girls in Germany aged 0 and 4 years,
respectively.
library(childsds)
data(kro.ref)
::make_percentile_tab(
childsdsref = kro.ref, item = "height", age=c(0,4),
perc=c(5,50,95), include.pars= FALSE
%>% filter(sex == "female") )
## sex age perc_05_0 perc_50_0 perc_95_0
## 1 female 0 47.39498 51.1112 54.82742
## 2 female 4 96.33650 103.6051 110.87370
The main result of this short blog post is a Rmd file, which contains a visualization of an imaginary child’s growth trajectory: Albert B. Cook born on 2018-06-11. The data of Albert are stored in a CSV file. We show the trajectories for height, weight and BMI and compare to 5 quantiles of the German reference population, i.e. the 2.5%, 5%, 50%, 95% and 97.5% quantile. The resulting visualization looks as follows:
Albert B. Cook
Let’s look at how Albert relates to the population of children in Germany1 as implemented in the childsds R package2.
Height
Albert’s height of 108 cm at age 4.0 years corresponds to the 81.4% quantile among boys in Germany of that age.
Weight
Albert’s weight of 19,100 g at age 4.0 years corresponds to the 82.6% quantile among boys in Germany of that age.
BMI
Albert’s BMI of 16.4 kg/m² at age 4.0 years corresponds to the 73.3% quantile among boys in Germany of that age.
The Rmd file can be obtained from GitHub and serves as a template for creating html based congratulation cards in response to news of newborn (which usually are annotated with birth height and birth weight) or to track the growth of your own kids.
Discussion
Percentile curves for longitudinal trajectories in populations can also be used in very different contexts than anthropometry. As an example consider the development of your solve time for the 3x3x3 Rubik’s cube as a function of time since first WCA competition.
Literature
According to Kromeyer-Hauschild, K., Wabitsch, M., Kunze, D. et al. Perzentile für den Body-mass-Index für das Kindes- und Jugendalter unter Heranziehung verschiedener deutscher Stichproben. Monatsschr Kinderheilkd 149, 807–818 (2001). https://doi.org/10.1007/s001120170107↩︎
- Vogel M (2022). childsds: Data and Methods Around
Reference Values in Pediatrics. R package version 0.8.0, https://CRAN.R-project.org/package=childsds.
↩︎