Skip to content

Commit 15d355d

Browse files
authored
Merge pull request #21 from lshtm-gigs/dev
gigs 0.3.2: README change + sga silencing
2 parents e49ee4a + 8527af2 commit 15d355d

File tree

2 files changed

+45
-52
lines changed

2 files changed

+45
-52
lines changed

README.md

+42-49
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,6 @@ contains weight measurements for term and preterm infants from birth
197197

198198
```stata
199199
. use life6mo
200-
. local 40weeks 7 * 40
201200
. local 37weeks 7 * 37
202201
. list in f/10, noobs abbreviate(10) sep(10)
203202
___________________________________________________________
@@ -224,24 +223,24 @@ INTERGROWTH-21<sup>st</sup> Newborn Size Standards, WHO/INTERGROWTH Postnatal
224223
standards after birth).
225224

226225
```stata
227-
. egen waz_nbs = ig_nbs(meaninfwgt/1000, "wfga", "v2z") ///
228-
> if visitweek == 0, ///
229-
> gest_age(gestage) sex(sex) sexcode(m=1, f=2)
230-
(7,308 missing values generated)
231-
232-
. gen agedays = pma - gestage
233-
. egen waz_who = who_gs(meaninfwgt/1000, "wfa", "v2z") ///
234-
> if gestage > `37weeks´ & visitweek > 0, ///
226+
. egen double waz_nbs = ig_nbs(meaninfwgt/1000, "wfga", "v2z") ///
227+
> if agedays == 0, ///
228+
> gest_days(gestage) sex(sex) sexcode(m=1, f=2)
229+
(8,228 missing values generated)
230+
231+
. egen double waz_who = who_gs(meaninfwgt/1000, "wfa", "v2z") ///
232+
> if agedays > 0 & gestage >= `37weeks', ///
235233
> xvar(agedays) sex(sex) sexcode(m=1, f=2)
236-
(4,657 missing values generated)
237-
. drop agedays
234+
(4,073 missing values generated)
235+
238236
239-
. gen pma_weeks = round(pma/7, 1)
240-
. egen waz_png = ig_png(meaninfwgt/1000, "wfa", "v2z") ///
241-
> if gestage < `37weeks´ & visitweek > 0 & visitweek <= 18, ///
242-
> pma_weeks(pma_weeks) sex(sex) sexcode(m=1, f=2)
243-
(5,391 missing values generated)
244-
. drop pma_weeks
237+
. gen pma_weeks = pma / 7
238+
. gen pma_weeks_floored = floor(pma / 7)
239+
. egen double waz_png = ig_png(meaninfwgt/1000, "wfa", "v2z") ///
240+
> if gestage < `37weeks' & agedays > 0, ///
241+
> xvar(pma_weeks_floored) sex(sex) sexcode(m=1, f=2)
242+
(4,659 missing values generated)
243+
. drop pma_weeks pma_weeks_floored
245244
246245
. gen age_corrected = pma - `40weeks´
247246
. egen waz_whocorr = who_gs(meaninfwgt/1000, "wfa", "v2z") ///
@@ -254,33 +253,28 @@ standards after birth).
254253
We can then combine these WAZs into one overall `waz` variable:
255254

256255
```stata
257-
. gen waz = waz_who if gestage > `37weeks´
258-
(4,657 missing values generated)
259-
260-
. replace waz = waz_nbs if visitweek == 0
261-
(1,112 real changes made, 4 to missing)
262-
263-
. replace waz = waz_png if gestage < `37weeks´ & visitweek > 0 & visitweek <= 18
264-
(3,025 real changes made)
265-
266-
. replace waz = waz_whocorr if gestage < `37weeks´ & visitweek == 26
267-
(420 real changes made)
268-
269-
. list gestage pma visitweek waz_* waz in f/10, noobs
270-
__________________________________________________________________________
271-
| gestage pma week waz_who waz_nbs waz_png waz_whocorr waz |
272-
|--------------------------------------------------------------------------|
273-
| 132 133 0 . . . . . |
274-
| 132 139 1 . . . . . |
275-
| 132 146 2 . . . . . |
276-
| 132 162 4 . . . . . |
277-
| 132 174 6 . . . . . |
278-
| 132 203 10 . . 7.859 . 7.859 |
279-
| 132 230 14 . . 6.699 . 6.699 |
280-
| 132 258 18 . . 5.612 . 5.612 |
281-
| 132 317 26 . . . 3.512 3.512 |
282-
| 237 238 0 . -.712 . . -.712 |
283-
|--------------------------------------------------------------------------|
256+
. gen double waz = waz_who if gestage > `37weeks'
257+
(4,749 missing values generated)
258+
. replace waz = waz_png if gestage < `37weeks'
259+
(3,757 real changes made)
260+
. replace waz = waz_nbs if agedays == 0
261+
(188 real changes made)
262+
263+
. list visitweek gestage pma waz_* waz in f/10, noobs sep(10)
264+
+------------------------------------------------------------------------+
265+
| visitw~k gestage pma waz_nbs waz_who waz_png waz |
266+
|------------------------------------------------------------------------|
267+
| 0 132 133 . . . . |
268+
| 1 132 139 . . . . |
269+
| 2 132 146 . . . . |
270+
| 4 132 162 . . . . |
271+
| 6 132 174 . . . . |
272+
| 10 132 203 . . 7.8594946 7.8594946 |
273+
| 14 132 230 . . 7.2548282 7.2548282 |
274+
| 18 132 258 . . 6.0985216 6.0985216 |
275+
| 26 132 317 . . 3.8344571 3.8344571 |
276+
| 0 237 238 . . -.43606208 -.43606208 |
277+
+------------------------------------------------------------------------+
284278
```
285279

286280
This `waz` variable can then be used to determine whether infants are
@@ -294,13 +288,12 @@ remove any observations which were not made at birth. We then use the
294288
`classify_sga()` command to give us our classifications:
295289
```stata
296290
. use life6mo, clear
297-
. drop if visitweek != 0
291+
. keep if (gestage - pma) == 0
298292
(7,303 observations deleted)
299-
```
300-
```
293+
301294
. egen sga = classify_sga(meaninfwgt/1000), ///
302-
> gest_age(gestage) sex(sex) sexcode(m=1, f=2)
303-
(5 missing values generated)
295+
> gest_days(gestage) sex(sex) sexcode(m=1, f=2)
296+
(2 missing values generated)
304297
```
305298

306299
## Known issues and bug reporting

_gclassify_sga.ado

+3-3
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ program define _gclassify_sga
5454
marksample touse
5555

5656
tempvar p_temp
57-
egen double `p_temp' = ig_nbs(`input', "wfga", "v2c"), ///
58-
gest_days(`gest_days') sex(`sex') sexcode(m="`male'", f="`female'")
59-
qui {
57+
qui {
58+
egen double `p_temp' = ig_nbs(`input', "wfga", "v2c"), ///
59+
gest_days(`gest_days') sex(`sex') sexcode(m="`male'", f="`female'")
6060
generate `type' `return' = 0
6161
replace `return' = -1 if float(`p_temp') < 0.1
6262
replace `return' = 1 if float(`p_temp') > 0.9

0 commit comments

Comments
 (0)