@@ -197,7 +197,6 @@ contains weight measurements for term and preterm infants from birth
197
197
198
198
``` stata
199
199
. use life6mo
200
- . local 40weeks 7 * 40
201
200
. local 37weeks 7 * 37
202
201
. list in f/10, noobs abbreviate(10) sep(10)
203
202
___________________________________________________________
@@ -224,24 +223,24 @@ INTERGROWTH-21<sup>st</sup> Newborn Size Standards, WHO/INTERGROWTH Postnatal
224
223
standards after birth).
225
224
226
225
``` 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', ///
235
233
> 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
+
238
236
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
245
244
246
245
. gen age_corrected = pma - `40weeks´
247
246
. egen waz_whocorr = who_gs(meaninfwgt/1000, "wfa", "v2z") ///
@@ -254,33 +253,28 @@ standards after birth).
254
253
We can then combine these WAZs into one overall ` waz ` variable:
255
254
256
255
``` 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
+ +------------------------------------------------------------------------+
284
278
```
285
279
286
280
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
294
288
` classify_sga() ` command to give us our classifications:
295
289
``` stata
296
290
. use life6mo, clear
297
- . drop if visitweek ! = 0
291
+ . keep if (gestage - pma) = = 0
298
292
(7,303 observations deleted)
299
- ```
300
- ```
293
+
301
294
. 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)
304
297
```
305
298
306
299
## Known issues and bug reporting
0 commit comments