Home » Topics » Nutrition and Anthropometry » Replicating table counts for children under 5 in Bangladesh DHS
Replicating table counts for children under 5 in Bangladesh DHS [message #1557] 
Thu, 13 March 2014 10:19 
annadinnyc
Messages: 9 Registered: March 2014

Member 


Hello,
I am trying to replicate the correct total number of children under 5 for Bangladesh DHS 1999/2000, 2004, 2007, and 2011. As my base, I am using the PR files for 2004, 2007, and 2011 and the KR file for 2000 (since only children of interviewed women were measured/weighed). Also, for 2004 and 2007, I am using the HW files to get the anthro variables related to the new WHO standards, which I merge with the base files.
I found the unweighted (N) and weighted (WN) total counts in the appendix tables on sampling errors (which includes variables for children under 5) in each year's final report.
For 2007 and 2011, I am able to replicate the totals using the following code in the PR file:
keep if hc1<=59 & hv103==1 & hc70<9000 // child<5, slept in HH last night, nonmissing new WHO standards
* get unweighted total
count
* get weighted total, where weight=hv005/1000000
egen N=total(weight)
sum N
QUESTION: I need help getting the correct totals for 2004 and 1999/2004.
(1) Table 11.7 in the 2004 final report says that "children who stayed in the household the night before the interview" and "who have a valid date of birth (month and year) and valid height and weight measurements" are included. Here is the code that I am trying:
keep if hv103==1 & hc33==1 & hc13==0 // slept in HH last night, age info complete, measured
This gives me 6142 unweighted total and 6132 weighted total but the report gives 6012 unweighted and 6005 weighted.
There are several missings (e.g., hc7==9980) for some of the anthro variables, but not all (which is confusing since weight, height and age are supposedly complete). I tried dropping children who are missing some of the anthro variables (hc4 hc12), but I can't get the exact number of children from the table.
(2) Table 9.5 in the 19992000 final report only says that the "figures are for children born in the period 059 months preceding the survey". If I only keep those who were measured (using code below), I get 5562 unweighted and 5652 weighted, but the report gives 5335 unweighted and 5421 weighted.
keep if hc13==0 / measured
I tried dropping children who are missing some of the anthro variables (hc4 hc12), but I can't get the exact number of children from the table.
Any suggestions would be very much appreciated. Thank you.
Anna




Re: Replicating table counts for children under 5 in Bangladesh DHS [message #1594 is a reply to message #1557] 
Sun, 16 March 2014 00:45 
LizDHS
Messages: 1516 Registered: February 2013

Senior Member 


Dear User,
I am not a programmer, but looked through our CSPro programs for table 11.7 for Bangladesh 2004. It is called table 10.13 in our standard applications but I think might help in figuring things out. Note what the table definition excludes. Look through this code and use your recode manual and dictionary distributed with your data. Good luck. If you still need assistance, please feel free to post again.
Thank you!
table float(1) t1013 chage2+sex2+border2+pinter2+bsize+v102w+v101w+v106wt+
agem+chintw+chnotew+v190w+total
hghtage+wghthght+wghtage+numchild
exclude(rowzero,colzero,totals,percents,specval)
{+US}
title("Table 10.13 Nutritional status of children"," ",
" Percentage of children under five years classified as",
" malnourished according to three anthropometric indices of",
" nutritional status: heightforage, weightforheight, and",
" weightforage, by background characteristics, Bangladesh 2004")
stub ("Background",
"characterisitic");
{ check if a type of food was given to a child }
function given( xvar )
given = 0;
if !special(xvar) & xvar > 0 & xvar < 8 then
given = xvar
endif;
end
end
PROC RECODE4_FF
preproc
eb = 0;
total = 0;
numwom = 0;
numhh = 0;
numchild = 0;
meanpi = notappl;
med1st = 0.75;
totmiss = 0;
totchild = 1;
tothh = 1;
emsample = 1; { 0  All woman sample, 1  Ever married woman sample }
unweight = ( sysparm()[1:1] = "U" ); { 1  run unweighted tables }
maxhght = 2200; { maximum height 220 cms }
maxwght = 2000; { maximum weight 200 Kgs }
maxarmc = 500; { maximum armcircum 50 cms }
maxbmi = 600; { maximum BMI 60 (implicit in V445) }
minhght = 1300; { minimum height 130 cms }
minwght = 350; { minimum weight 35 Kgs }
minarmc = 200; { minimum armcircum 20 cms }
minbmi = 120; { minimum BMI 12 (implicit in V445) }
{ Table 10.13 processing }
jtot = tblcol( t1013 );
jmax = jtot  1;
j = 0;
while j <= jmax do
if j <> 2 & j <> 5 & j <> 8 then
t1013[*,j] = 100 * t1013[*,j] / t1013[*,jtot]; { percents }
else
t1013[*,j] = (t1013[*,j] / t1013[*,jtot])  10; { means }
endif;
j = j + 1
enddo;
{ Rounding weighted Ns }
itot = tblrow( t1013 );
i = 0;
while i <= itot do
t1013(i,jtot) = int( t1013(i,jtot)+0.5 );
i = i + 1
enddo;
{ table 10.13, 10.13a }
{ children's anthropometry }
numchild = notappl;
hghtage = notappl;
wghthght = notappl;
wghtage = notappl;
if !special( HC5(i) ) & HC5(i) <> 9998 then
hghtage = 1;
if HC5(i) < (300) then
t = xtab( t1013, rweight );
endif;
hghtage = 2;
t = xtab( t1013aw, rweight );
if HC5(i) < (200) then
t = xtab( t1013, rweight );
t = xtab( t1013a, rweight );
endif;
hghtage = 3;
zw = HC5(i) / 100 + 10;
t = xtab( t1013, zw*rweight );
hghtage = notappl;
wghthght = 1;
if HC11(i) < (300) then
t = xtab( t1013, rweight );
endif;
wghthght = 2;
t = xtab( t1013aw, rweight );
if HC11(i) < (200) then
t = xtab( t1013, rweight );
t = xtab( t1013a, rweight );
endif;
wghthght = 3;
zw = HC11(i) / 100 + 10;
t = xtab( t1013, zw*rweight );
wghthght = notappl;
wghtage = 1;
if HC8(i) < (300) then
t = xtab( t1013, rweight );
endif;
wghtage = 2;
t = xtab( t1013aw, rweight );
if HC8(i) < (200) then
t = xtab( t1013, rweight );
t = xtab( t1013a, rweight );
endif;
wghtage = 3;
zw = HC8(i) / 100 + 10;
t = xtab( t1013, zw*rweight );
wghtage = notappl;
numchild = 0; { all children }
t = xtab( t1013, rweight );




Goto Forum:
Current Time: Wed Jun 7 10:55:19 Coordinated Universal Time 2023
