-
Notifications
You must be signed in to change notification settings - Fork 1
/
README.Rmd
594 lines (514 loc) · 31.5 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
---
output: github_document
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r setup, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%",
dev.args = list(png = list(type = "cairo"))
)
intergrowth21st <- knitr::asis_output(x = "INTERGROWTH-21<sup>st</sup>")
library(gigs)
```
```{r srr-tags-1, eval = FALSE, echo = FALSE}
#' srr-tags-readme
#'
#' @srrstats {G1.1} Addressed existence of other packages/implementations in
#' section on 'Other packages'.
#' @srrstats {EA1.0, EA1.1, EA1.2} Addressed target audience, kinds of data,
#' and kinds of questions addressable through gigs.
```
# gigs <img src="man/figures/logo.png" align="right" height="138" />
<!-- badges: start -->
[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![R-CMD-check](https://github.com/ropensci/gigs/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/ropensci/gigs/actions/workflows/R-CMD-check.yaml)
[![pkgcheck](https://github.com/ropensci/gigs/workflows/pkgcheck/badge.svg)](https://github.com/ropensci/gigs/actions?query=workflow%3Apkgcheck)
[![codecov](https://codecov.io/github/ropensci/gigs/graph/badge.svg?token=FZcgqIpQL4)](https://codecov.io/github/ropensci/gigs)
[![CRAN version](https://www.r-pkg.org/badges/version/gigs)](https://www.r-pkg.org/pkg/gigs)
[![ropensci](https://badges.ropensci.org/626_status.svg)](https://github.com/ropensci/software-review/issues/626)
<!-- badges: end -->
## Overview
Produced as part of the Guidance for International Growth Standards project at
the London School of Hygiene & Tropical Medicine, **gigs** provides a single,
simple interface for working with the WHO Child Growth standards and outputs
from the `r intergrowth21st` project. You will find functions for converting
from anthropometric measures (e.g. weight or length) to z-scores and centiles,
and the inverse. Also included are functions for classifying newborn and infant
growth according to literature-based cut-offs.
**gigs** is of use to anyone interested in fetal and child growth, including
child health researchers, policymakers, and clinicians. This package is best
suited to growth data where the gestational age (GA) of each child is known, as
the use of the growth standards included in **gigs** is GA-dependent.
We recommend you check out the
[available standards](#available-international-growth-standards) section to
see if your anthropometric measurements can be converted to z-scores/centiles by
**gigs**. We recommend using **gigs** to generate continuous or categorical
measures of fetal/newborn/child growth, which can then be used in downstream
analyses.
## Installation
You can install the development version of **gigs** from
[GitHub](https://www.github.com/ropensci/gigs) with `pak`, or from the
[ropensci R-universe](https://ropensci.r-universe.dev/builds):
``` r
# install.packages("pak")
pak::pkg_install(pkg = "ropensci/gigs")
```
``` r
install.packages("gigs", repos = "https://ropensci.r-universe.dev")
```
## Rationale + terminology
```{r srr-tags-2, eval = FALSE, echo = FALSE}
#' @srrstats {G1.3} Explained z-scores and centiles prior to discussing
#' functions which convert between these and measured values.
```
When working with growth measurements from individual children, it is helpful to
compare those measurements to a growth standard, which represents average growth
for an population of children. This allows assessment of individual growth - for
example, that a baby was born small, but later caught up to its peers in size.
It also allows you to compare measurements from different children.
These standards of growth can be made in different ways, but the best studies
utilise international samples made of up thousands of healthy fetuses, newborns,
or children. In **gigs**, you'll find different international growth standards,
allowing you to compare growth measures from children with different ages,
weights, heights, and more.
In general, you'll use **gigs** to transform raw growth measures to *z-scores*
or *centiles*. Z-scores and centiles represent the location of a measurement
within a normal distribution of values, such that:
* A *z-score* is the number of standard deviations from the mean for a given
anthropometric measurement (e.g. height or weight).
* A *centile* represents the proportion of measurements in some distribution
which we would expect to be lower than a measurement we've taken. In *gigs*,
these are represented as a value between `0` and `1`. For example, `0.5`
corresponds to the 50<sup>th</sup> centile (i.e. the mean), whereas `0.75`
corresponds to the 75<sup>th</sup> centile.
In growth data, z-scores and centiles represent the size a fetus, newborn, or
child relative to its peers. Size here is considered relative to a standardising
variable, which is usually age but could also be another variable such as their
length. By tracking a child's relative size as they grow, you can see if they
are achieving their growth potential or not. If not, this may indicate
underlying issues such as ill health or undernutrition.
## Classification functions
**gigs** includes a number of functions which permit fast identification of
at-risk infants through classification of suboptimal growth. The cut-offs used
are sourced from research literature; you can check the function documentation
to see these sources.
### Growth classification in `data.frame`-like objects
Use the `classify_growth()` function to quickly compute growth indicators in
`data.frame`-like objects. All `classify_*()`-style functions in **gigs** use
[data-masking](https://rlang.r-lib.org/reference/args_data_masking.html), so you
provide a `data.frame`-like object in the `.data` argument and then refer to
your column names directly. In `classify_growth()`, you can also use the
`.analyses` argument to specify which growth indicators you want to classify.
```{r examples_classification}
life6mo_newborns <- gigs::life6mo[life6mo$age_days == 0, ]
# Use classify_growth() to get multiple growth indicators at once
life6mo_classified <- classify_growth(
.data = life6mo_newborns,
gest_days = gestage,
age_days = age_days,
sex = as.character(sex),
weight_kg = wt_kg,
lenht_cm = len_cm,
id = as.factor(id),
.outcomes = c("svn", "stunting")
)
head(life6mo_classified, n = 4)
```
When using `classify_growth()`, you will be informed which of the analyses you
wanted to run were successful. In the example below, because `lenht_cm` is not
specified, stunting indicators cannot be computed.
```{r examples_classification3}
life6mo_classified <- classify_growth(
.data = life6mo_newborns,
gest_days = gestage,
age_days = age_days,
sex = as.character(sex),
weight_kg = wt_kg,
id = as.factor(id),
.outcomes = c("svn", "stunting")
)
head(life6mo_classified, n = 4)
```
You can also use `classify_*()` functions which are specific to the growth
indicator you'd like to calculate, for example `classify_svn()` to get small,
vulnerable newborn classifications for each infant:
```{r examples_classification2}
# Small vulnerable newborns - note no ID parameter, as it is assumed that all
# measures are taken at birth
life6mo_svn <- classify_svn(
.data = life6mo_newborns,
weight_kg = wt_kg,
gest_days = gestage,
sex = as.character(sex)
)
head(life6mo_svn, n = 4)
```
## Conversion functions
### Available international growth standards
**gigs** facilitates the proper use of international growth standards, which
are growth charts developed using international samples of healthy singleton
children born to mothers that had their health needs met during pregnancy.
They represent an international standard of 'optimal' growth. **gigs**
implements international growth standards from the WHO and `r intergrowth21st`
project:
* `ig_nbs` - `r intergrowth21st` Newborn Size standards (including very preterm)
<details><summary>Component standards</summary>
| Acronym | Description | Unit | `x` range |
|----------|-------------------------------|-------|-----------------|
| `wfga` | weight-for-GA | kg | 168 to 300 days |
| `lfga` | length-for-GA | cm | 168 to 300 days |
| `hcfga` | head circumference-for-GA | cm | 168 to 300 days |
| `wlrfga` | weight-to-length ratio-for-GA | kg/cm | 168 to 300 days |
| `ffmfga` | fat-free mass-for-GA | kg | 266 to 294 days |
| `bfpfga` | body fat percentage-for-GA | % | 266 to 294 days |
| `fmfga` | fat mass-for-GA | kg | 266 to 294 days |
</details>
* `ig_nbs_ext` - Extended `r intergrowth21st` Newborn Size standards (including
very preterm)
<details><summary>Component standards</summary>
| Acronym | Description | Unit | `x` range |
|----------|-------------------------------|-------|-----------------|
| `wfga` | weight-for-GA | kg | 154 to 314 days |
| `lfga` | length-for-GA | cm | 154 to 314 days |
| `hcfga` | head circumference-for-GA | cm | 154 to 314 days |
</details>
* `ig_png` - `r intergrowth21st` Postnatal Growth of Preterm Infants standards
<details><summary>Component standards</summary>
| Acronym | Description | Unit | `x` range |
|---------|----------------------------|------|-----------------------|
| `wfa` | weight-for-age | kg | 27 to ≤64 exact weeks |
| `lfa` | length-for-age | cm | 27 to ≤64 exact weeks |
| `hcfa` | head circumference-for-age | cm | 27 to ≤64 exact weeks |
| `wfl` | weight-for-length | kg | 35 to 65 cm |
</details>
* `ig_fet` - `r intergrowth21st` Fetal standards
<details><summary>Component standards</summary>
| Acronym | Description | Unit | `x` range |
|-----------|--------------------------------------------------------------|------|-----------------|
| `hcfga` | head circumference-for-GA | mm | 98 to 280 days |
| `bpdfga` | biparietal diameter-for-GA | mm | 98 to 280 days |
| `acfga` | abdominal circumference-for-GA | mm | 98 to 280 days |
| `flfga` | femur length-for-GA | mm | 98 to 280 days |
| `ofdfga` | occipito-frontal diameter for-GA | mm | 98 to 280 days |
| `efwfga` | estimated fetal weight-for-GA | g | 154 to 280 days |
| `sfhfga` | symphisis-fundal height-for-GA | mm | 112 to 294 days |
| `crlfga` | crown-rump length-for-GA | mm | 58 to 105 days |
| `gafcrl` | GA-for-crown-rump length | days | 15 to 95 mm |
| `gwgfga` | gestational weight gain-for-GA | kg | 98 to 280 days |
| `pifga` | pulsatility index-for-GA | | 168 to 280 days |
| `rifga` | resistance index-for-GA | | 168 to 280 days |
| `sdrfga` | systolic/diastolic ratio-for-GA | | 168 to 280 days |
| `tcdfga` | transcerebellar diameter-for-GA | mm | 98 to 280 days |
| `tcdfga` | GA-for-transcerebellar diameter | mm | 98 to 280 days |
| `poffga` | parietal-occipital fissure-for-GA | mm | 105 to 252 days |
| `sffga` | Sylvian fissue-for-GA | mm | 105 to 252 days |
| `avfga` | anterior horn of the lateral ventricle-for-GA | mm | 105 to 252 days |
| `pvfga` | atrium of the posterior horn of the lateral ventricle-for-GA | mm | 105 to 252 days |
| `cmfga` | cisterna magna-for-GA | mm | 105 to 252 days |
| `hefwfga` | Hadlock estimated fetal weight-for-GA | g | 126 to 287 days |
</details>
* `who_gs` - WHO Child Growth Standards for term infants
<details><summary>Component standards</summary>
| Acronym | Description | Unit | `x` range |
|---------|------------------------------|------------------|-----------------|
| `wfa` | weight-for-age | kg | 0 to 1856 days |
| `bfa` | BMI-for-age | kg/m<sup>2</sup> | 0 to 1856 days |
| `lhfa` | length/height-for-age | cm | 0 to 1856 days |
| `hcfa` | head circumference-for-age | cm | 0 to 1856 days |
| `wfl` | weight-for-height | kg | 45 to 110 cm |
| `wfh` | weight-for-length | kg | 65 to 120 cm |
| `acfa` | arm circumference-for-age | cm | 91 to 1856 days |
| `ssfa` | subscapular skinfold-for-age | mm | 91 to 1856 days |
| `tsfa` | triceps skinfold-for-age | mm | 91 to 1856 days |
</details>
### Usage
Conversion functions are named according to the conversion they perform. Either
they convert measured values to z-scores/centiles
(`value2zscore()`/`value2centile()`), or they generate expected values for given
z-scores/centiles (`zscore2value()`/`centile2value()`).
You tell **gigs** which international growth standard to use with the `family`
and `acronym` parameters. The `family` parameter denotes the set of growth
standards you want to use - e.g. `"ig_nbs"` for the `r intergrowth21st` Newborn
Size standards (including very preterm). The `acronym` parameter describes which
exact growth standard you want out of all the growth standards in your 'family'
of standards.
For example, to convert *values to z-scores* in the *weight-for-GA* standard
from the *`r intergrowth21st` Newborn Size standards*, you would run
`value2zscore(..., family = "ig_nbs", acronym = "wfga")`.
Similarly, the conversion of length-for-age values to centiles in term and
preterm infants could be performed with the *WHO Child Growth standards* and
*`r intergrowth21st` Postnatal Growth of Preterm Infants standards*,
respectively:
* Preterm infants: `value2centile(..., family = "ig_png", acronym = "lfa")`
* Term infants: `value2centile(..., family = "who_gs", acronym = "lhfa")`
If you don't know which units are used for a given growth standard, the
`report_units()` function will help you. Run it with your `family` and `acronym`
combination to get help:
```{r report_units}
report_units(family = "ig_nbs", acronym = "wfga")
```
### Values to z-scores/centiles
These functions allow easy conversion from measured values to z-scores or
centiles for the standard used.
```{r example_v2zp}
# Convert from z-scores for individual values...
value2zscore(y = 0.785, x = 182, sex = "F",
family = "ig_nbs", acronym = "wfga") |>
round(digits = 2)
# .. or for multiple inputs
value2centile(y = 0.785, x = seq(175, 196, by = 7), sex = "F",
family = "ig_nbs", acronym = "wfga") |>
round(digits = 2)
# You can also get centiles
value2centile(y = c(2.86, 3.12, 3.12, 3.43, 3.77, 4.10), x = 40, sex = "M",
family = "ig_png", acronym = "wfa") |>
round(digits = 2)
```
### Z-scores/centiles to values
These functions convert z-scores to expected anthropometric measurements. They
are mostly useful for the creation of reference curves (see below).
```{r example_zp2v}
# Convert from z-scores for individual values...
zscore2value(z = 0, x = 182, sex = "F",
family = "ig_nbs", acronym = "wfga") |>
round(digits = 3)
# .. or for multiple inputs
zscore2value(z = 0, x = seq(182, 204, by = 7), sex = "F",
family = "ig_nbs", acronym = "wfga") |>
round(digits = 3)
# You can do the same for centiles
centile2value(p = c(0.1, 0.25, 0.5, 0.75, 0.9), x = 40, sex = "M",
family = "ig_png", acronym = "wfa") |>
round(digits = 2)
```
#### Reference curves
We can use **gigs** to generate reference curves for the standards by getting
curves for the expected weight at multiple z-scores across multiple gestational
ages. We would usually recommend [`ggplot2`](https://ggplot2.tidyverse.org/) for
such visualisation, but do not use it here to reduce our package's dependencies.
```{r example_zp2v_curves, dev = "png", fig.alt = "A growth chart for weight against gestational age, with lines for each SD from +2 to -2."}
z_score_range <- -2:2
gestage_range <- 168:230
ref <- mapply(z_score_range,
FUN = function(z) {
gigs::zscore2value(z = z,
x = gestage_range,
sex = "F",
family = "ig_nbs",
acronym = "wfga")
})
matplot(ref, x = gestage_range, col = 1:5, type = "l", lty = 2:6,
xlab = "Gestational age (days)",
ylab = "Weight (kg)")
title(main = "Weight-for-GA in very preterm newborns")
legend(x = min(gestage_range) + 1, y = ref[length(ref)], legend = 2:-2,
title = "Z-score", col = 5:1, lty = 2:6)
```
# Other packages
```{r arrows_and_bench_data, echo = FALSE}
ig21st <- if (knitr::is_html_output()) {
knitr::asis_output(x = "IG-21<sup>st</sup>")
} else {
knitr::asis_output(x = "IG-21\textsupercript{st}")
}
larr <- knitr::asis_output(x = "←")
rarr <- knitr::asis_output(x = "→")
harr <- knitr::asis_output(x = "↔")
yes <- if (knitr::is_html_output()) {
knitr::asis_output(x = "✅")
} else {
knitr::asis_output(x = "✓")
}
no <- if (knitr::is_html_output()) {
knitr::asis_output(x = "❌")
} else {
knitr::asis_output(x = "✘")
}
half <- if (knitr::is_html_output()) {
knitr::asis_output(x = "⚠️")
} else {
knitr::asis_output(x = "⚠")
}
anthro <- knitr::asis_output(x = "[anthro](https://cran.r-project.org/web/packages/anthro/index.html)")
AGD <- knitr::asis_output(x = "[AGD](https://cran.r-project.org/web/packages/AGD/index.html)")
childsds <- knitr::asis_output(x = "[childsds](https://cran.r-project.org/web/packages/childsds/index.html)")
gigs_r <- knitr::asis_output(x = "[gigs](https://www.github.com/ropensci/gigs/)")
growthstans <- knitr::asis_output(x = "[ki-tools/growthstandards](https://www.github.com/ki-tools/growthstandards/)")
sitar <- knitr::asis_output(x = "[sitar](https://cran.r-project.org/web/packages/sitar/index.html)")
zscorer <- knitr::asis_output(x = "[zscorer](https://cran.r-project.org/web/packages/zscorer/index.html)")
gigs_stata <- knitr::asis_output(x = "[gigs](https://www.github.com/ropensci/gigs-stata/) (Stata)")
zanthro <- knitr::asis_output(x = "[zanthro](https://journals.sagepub.com/doi/epdf/10.1177/1536867X1301300211) (Stata)")
intergrowth <- knitr::asis_output(x = "[nutriverse/intergrowth](https://github.com/nutriverse/intergrowth/)")
gigs_sas <- knitr::asis_output(x = "[gigs](https://github.com/SASPAC/gigs/) (SAS)")
load("vignettes/articles/benchmarking.rda")
```
Other R packages can be used to analyse growth data with international
standards, but have limitations which are not present in **gigs**. There are
also software packages external to R which implement these standards. The table
below describes these packages, and to what extent they have implemented
functions that let users convert anthropometric measurements to
z-scores/centiles in each set of standards implemented in **gigs** - the WHO
Child Growth standards, `r intergrowth21st` Newborn Size standards (including
Very Preterm), and the `r intergrowth21st` Postnatal Growth standards for
preterm infants. No other packages (except **gigs** for Stata) includes the
extended versions of the `r intergrowth21st` Newborn Size standards (incl. Very
Preterm).
A tick (`r yes`) indicates that all possible standards are
included in a package, a red cross (`r no`) indicates that these standards are
completely missing, and a warning sign (`r half`) indicates that some of these
standards are implemented but not others.
| Software | Platform | WHO (0-5 years) | `r ig21st` NBS | `r ig21st` PNG | `r ig21st` Fetal | Functionality |
|-----------------|----------|-----------------|----------------|----------------|------------------|-----------------------------------|
| `r gigs_r` | R | `r yes` | `r yes` | `r yes` | `r yes` | Values `r harr` z-scores/centiles |
| `r anthro` | R | `r yes` | `r no` | `r no` | `r no` | Values `r rarr` z-scores |
| `r AGD` | R | `r yes` | `r no` | `r no` | `r no` | Values `r harr` z-scores |
| `r childsds` | R | `r yes` | `r no` | `r no` | `r no` | Values `r rarr` z-scores/centiles |
| `r growthstans` | R | `r yes` | `r yes` | `r half` | `r half` | Values `r harr` z-scores/centiles |
| `r intergrowth` | R | `r no` | `r no` | `r no` | `r half` | Values `r rarr` z-scores/centiles |
| `r sitar` | R | `r yes` | `r no` | `r no` | `r no` | Values `r harr` z-scores/centiles |
| `r zscorer` | R | `r yes` | `r no` | `r no` | `r no` | Values `r rarr` z-scores/centiles |
| `r gigs_stata` | Stata | `r yes` | `r yes` | `r yes` | `r yes` | Values `r harr` z-scores/centiles |
| `r zanthro` | Stata | `r yes` | `r no` | `r no` | `r no` | Values `r rarr` z-scores/centiles |
| `r gigs_sas` | SAS | `r yes` | `r yes` | `r yes` | `r yes` | Values `r harr` z-scores/centiles |
We have benchmarked these implementations against each other for conversion of values to z-scores in the WHO Child Growth Standards and different sets of
`r intergrowth21st` standards. The table below shows the relative speed of each
software package when processing 100,000 inputs. The code used to generate these
timings can be seen online in the **gigs** benchmarking
[article](https://ropensci.github.io/gigs/articles/benchmarking.html).
| Software | Platform | WHO (0-5 years) (ms) | `r ig21st` NBS (ms) | `r ig21st` PNG (ms) | `r ig21st` Fetal (ms) |
|-----------------|----------|-------------------------------------------|----------------------------------------|----------------------------------------|-----------------------------------------|
| `r gigs_r` | R | `r max_len_bench[[1]][["gigs"]]` | `r max_len_bench[[2]][["gigs"]]` | `r max_len_bench[[3]][["gigs"]]` | `r max_len_bench[[4]][["gigs"]]` |
| `r anthro` | R | `r max_len_bench[[1]][["anthro"]]` | `r no` | `r no` | `r no` |
| `r AGD` | R | `r max_len_bench[[1]][["AGD"]]` | `r no` | `r no` | `r no` |
| `r childsds` | R | `r max_len_bench[[1]][["childsds"]]` | `r no` | `r no` | `r no` |
| `r growthstans` | R | `r max_len_bench[[1]][["gs"]]` | `r max_len_bench[[2]][["gs"]]` | `r max_len_bench[[3]][["gs"]]` | `r max_len_bench[[4]][["gs"]]` |
| `r intergrowth` | R | `r no` | `r no` | `r no` | `r max_len_bench[[4]][["intergrowth"]]` |
| `r sitar` | R | `r max_len_bench[[1]][["sitar"]]` | `r no` | `r no` | `r no` |
| `r zscorer` | R | NA | `r no` | `r no` | `r no` |
| `r gigs_stata` | Stata | `r max_len_bench[[1]][["gigs_stata"]]` | `r max_len_bench[[2]][["gigs_stata"]]` | `r max_len_bench[[3]][["gigs_stata"]]` | `r max_len_bench[[4]][["gigs_stata"]]` |
| `r zanthro` | Stata | `r max_len_bench[[1]][["zanthro_stata"]]` | `r no` | `r no` | `r no` |
| `r gigs_sas` | SAS | `r max_len_bench[[1]][["gigs_sas"]]` | `r max_len_bench[[2]][["gigs_sas"]]` | `r max_len_bench[[3]][["gigs_sas"]]` | `r max_len_bench[[4]][["gigs_sas"]]` |
Note: `zscorer` is NA because we couldn't time it for 100,000 inputs (it takes
too long).
```{r srr-tags-3, eval = FALSE, echo = FALSE}
#' @srrstats {G1.5, G1.6} The linked article contains code for both performance
#' and accuracy claims when comparing this package with other software
#' packages.
```
The WHO and `r intergrowth21st` standards are also available in standalone form,
available from the [WHO
website](https://www.who.int/tools/child-growth-standards/software) and
[`r intergrowth21st`
website](https://intergrowth21.com/),
respectively. The `r intergrowth21st` website also includes download links for
Excel-based calculators in some standards.
## Authors + Citation
**S. R. Parker** Maternal, Adolescent, Reproductive, and Child Health
Centre, London School of Hygiene & Tropical Medicine
**Dr L. Vesel** Ariadne Labs, Brigham and Women’s Hospital, Harvard T.H.
Chan School of Public Health
**Professor E. O. Ohuma** Maternal, Adolescent, Reproductive, and Child
Health Centre, London School of Hygiene & Tropical Medicine
### Citation
Parker SR, Vesel L, Ohuma EO (2024). *gigs: Assess Fetal, Newborn, and
Child Growth*. <https://github.com/ropensci/gigs/>.
## Code of Conduct
Please note that the **gigs** package is released with a [Contributor Code of
Conduct](https://ropensci.org/code-of-conduct/). By contributing to this project
you agree to abide by its terms.
## References
```{r doi_fn, echo = FALSE}
rmd_doi <- function(doi) {
paste0("doi: [", doi, "](https://dx.doi.org/", doi, ")") |>
knitr::asis_output()
}
```
* INTERGROWTH-21<sup>st</sup> Newborn Size standards (including very preterm)
* Villar J, Cheikh Ismail L, Victora CG, Ohuma EO, Bertino E, Altman DG,
et al. **International standards for newborn weight, length, and head
circumference by gestational age and sex: the Newborn Cross-Sectional
Study of the INTERGROWTH-21st Project.** *Lancet* 2014,
**384(9946):857-68.** doi:
[10.1016/S0140-6736(14)60932-6](https://dx.doi.org/10.1016/S0140-6736(14)60932-6)
* Villar J, Giuliani F, Fenton TR, Ohuma EO, Ismail LC, Kennedy SH et al.
**INTERGROWTH-21st very preterm size at birth reference charts.**
*Lancet* 2016, **387(10021):844-45.** doi:
[10.1016/S0140-6736(16)00384-6](https://dx.doi.org/10.1016/S0140-6736(16)00384-6)
* Villar J, Puglia FA, Fenton TR, Ismal LC, Staines-Urias E, Giuliani F,
et al. **Body composition at birth and its relationship with neonatal
anthropometric ratios: the newborn body composition study of the
INTERGROWTH-21st project.** *Pediatric Research* 2017, **82:305-316.**
doi: [10.1038/pr.2017.52](https://dx.doi.org/10.1038/pr.2017.52)
* INTERGROWTH-21<sup>st</sup> Postnatal Growth of Preterm Infants standards
* Villar J, Giuliani F, Bhutta ZA, Bertino E, Ohuma EO, Ismail LC et al.
**Postnatal growth standards for preterm infants: the Preterm Postnatal
Follow-up Study of the INTERGROWTH-21st Project.** *Lancet Glob Health*
2015, *3(11):e681-e691.* doi:
[10.1016/S2214-109X(15)00163-1](https://dx.doi.org/10.1016/S2214-109X(15)00163-1)
* INTERGROWTH-21<sup>st</sup> Fetal standards
* Papageorghiou AT, Ohuma EO, Altman DG, Todros T, Cheikh Ismail L,
Lambert A et al. **International standards for fetal growth based on
serial ultrasound measurements: the Fetal Growth Longitudinal Study of
the INTERGROWTH-21st Project.** *Lancet* 2014, **384(9946):869-79.**
doi:
[10.1016/S0140-6736(14)61490-2](https://dx.doi.org/10.1016/S0140-6736(14)61490-2)
* Stirnemann J, Villar J, Salomon LJ, Ohuma EO, Lamber A, Victoria CG et
al. **International Estimated Fetal Weight Standards of the
INTERGROWTH-21st Project.** *Ultrasound Obstet Gynecol* 2016,
**49:478-486** doi:
[10.1002/uog.17347](https://dx.doi.org/10.1002/uog.17347)
* Stirnemann J, Salomon LJ, Papageorghiou AT. **INTERGROWTH-21st standards
for Hadlock’s estimation of fetal weight.** *Ultrasound Obstet Gynecol*
2020, **56(6):946-948** doi:
[10.1002/uog.22000](https://dx.doi.org/10.1002/uog.22000)
* Papageorghiou AT, Ohuma EO, Gravett MG, Lamber A, Noble JA, Pang R et
al. **International standards for symphysis-fundal height based on
serial measurements from the Fetal Growth Longitudinal Study of the
INTERGROWTH-21st Project: prospective cohort study in eight countries.**
*BMJ* 2016, **355:i5662** doi:
[10.1136/bmj.i5662](https://dx.doi.org/10.1136/bmj.i5662)
* Papageorghiou AT, Kennedy SH, Salomon LJ, Ohuma EO, Cheikh Ismail L,
Barros FC et al. **International standards for early fetal size and
pregnancy dating based on ultrasound measurement of crown-rump length in
the first trimester of pregnancy.** *Ultrasound Obstet Gynecol* 2014,
**44(6):641-48** doi:
[10.1002/uog.13448](https://dx.doi.org/10.1002/uog.13448)
* Cheikh Ismail L, Bishop DC, Pang R, Ohuma EO, Kac G, Abrams B et al.
**Gestational weight gain standards based on women enrolled in the Fetal
Growth Longitudinal Study of the INTERGROWTH-21st Project: a prospective
longitudinal cohort study.** *BMJ* 2016, **352:i555** doi:
[10.1136/bmj.i555](https://dx.doi.org/10.1136/bmj.i555)
* Drukker L, Staines-Urias E, Villar J, Barros FC, Carvalho M, Munim S et
al. **International gestational age-specific centiles for umbilical
artery Doppler indices: a longitudinal prospective cohort study of the
INTERGROWTH-21st Project.** *Am J Obstet Gynecol* 2021,
**222(6):602.e1-602.e15** doi:
[10.1016/j.ajog.2020.01.012](https://dx.doi.org/10.1016/j.ajog.2020.01.012)
* Rodriguez-Sibaja MJ, Villar J, Ohuma EO, Napolitano R, Heyl S, Carvalho
M et al. **Fetal cerebellar growth and Sylvian fissure maturation:
international standards from Fetal Growth Longitudinal Study of
INTERGROWTH-21st Project** *Ultrasound Obstet Gynecol* 2021,
**57(4):614-623** doi:
[10.1002/uog.22017](https://dx.doi.org/10.1002/uog.22017)
* Napolitano R, Molloholli M, Donadono V, Ohuma EO, Wanyonyi SZ, Kemp B et
al. **International standards for fetal brain structures based on serial
ultrasound measurements from Fetal Growth Longitudinal Study of
INTERGROWTH-21st Project** *Ultrasound Obstet Gynecol* 2020,
**56(3):359-370** doi:
[10.1002/uog.21990](https://dx.doi.org/10.1002/uog.21990)
* WHO Child Growth Standards
* de Onis M, Garza C, Victora CG, Onyango AW, Frongillo EA, Martines J.
**The WHO Multicentre Growth Reference Study: planning, study design,
and methodology** *Food Nutr Bull.* 2004, **25(1 Suppl):S15-26.** doi:
[10.1177/15648265040251s104](https://dx.doi.org/10.1177/15648265040251s104)
* World Health Organisation. **WHO child growth standards:
length/height-for-age, weight-for-age, weight-for-length,
weight-for-height and body mass index-for-age: methods and
development.** *Technical report, WHO, Geneva*, 2006.
* World Health Organisation. **WHO child growth standards: head
circumference-for-age, arm circumference-for-age, triceps
skinfold-for-age and subscapular skinfold-for-age: methods and
development.** *Technical report, WHO, Geneva*, 2007.