The DHS Program User Forum      
Discussions regarding The DHS Program data and results
Home » Countries » Bangladesh » Deal with missing data in BMI
Deal with missing data in BMI [message #13852] Fri, 12 January 2018 04:17 is currently offline
Messages: 6
Registered: December 2017

I have been working on mothers BMI and children's malnutrition.
For this purpose, I have been using BDHS KR file (2014) where the total observations were about 7886.
Now, along with those missing variables among hw_70 (for stunting), hw_71 (wasting), hw_72 (for underweight),
v437, v438, v213 and v222 (for mother's BMI) etc variables, I have used those following commands in STATA.

But, because of the missing variables in the data, while after calculating BMI and children's stunting, wasting and underweight,
the total number of observations are decreasing and those results are showing for about 6500 observations.

Again, when I am performing logistic regression, the observations are decreased too much and the result
shows for only about 2000 observations.

Now, my question is, how can I deal with the missing observations to calculate wasting, stunting and mother's BMI?
I want to get results of 7886 observations while calculating stunting, wasting, underweight and BMI.
So, what is the possible ways?

Thanks in advance.


The following commands I have used in STATA.

clear all
set more off
use C:\Users\hp\Desktop\Thesis\BDKR72FL.DTA, clear

//SVY commands
gen strata=v023
gen psu=v021
gen sampwt=v005/1000000
svyset psu [pw=sampwt], strata (strata)

**child stunting calculation
codebook hw70
tab hw70 if hw70>9990,m
tab hw70 if hw70>9990, m nolabel
gen HAZ=hw70
replace HAZ=. if HAZ>=9996
//histogram HAZ

gen stunted=.
replace stunted=0 if HAZ~=.
replace stunted=1 if HAZ<-200
svy: tab stunted

**child wasting calculation
codebook hw72
tab hw72 if hw72>9990,m
tab hw72 if hw72>9990,m nolabel
gen WAH=hw72
replace WAH=. if WAH>=9996
//histogram WAH

gen wasted=.
replace wasted=0 if WAH~=.
replace wasted=1 if WAH<-200
svy: tab wasted

**child underweight calculation
codebook hw71
tab hw71 if hw71>9990,m
tab hw71 if hw71>9990,m nolabel
gen WAZ=hw71
replace WAZ=. if WAZ>=9996
//histogram WAZ

gen underweight=.
replace underweight=0 if WAZ~=.
replace underweight=1 if WAZ<-200
svy: tab underweight

*generate a variable for body mass index (BMI)

*we want height in metres
gen height=v438/1000 if v438<9999

*we want weight in kilograms
gen weight=v437/10 if v437<9999

*bmi is defined as weight in kilograms divided by height in metres squared
gen bmi=weight/height^2

*exclude currently pregnant and women with a birth in the last 2 months
replace bmi=. if v213==1|v222<=2

*let's create a variable that classfies people according to the WHO's definitions of underweight and obesity
recode bmi (0/18.49999=1 "Underweight") (18.5/24.99999=2 "Normal") (25/999=3 "Overweight and Obese"), gen(bmi_cat)
svy: tab bmi_cat

Previous Topic: Stunting and wasting calculation from BDHS-2014 IR file
Next Topic: Query regarding Bangladesh Community data file
Goto Forum:

Current Time: Sat Mar 17 12:38:13 Eastern Daylight Time 2018