|Deal with missing data in BMI [message #13852]
||Fri, 12 January 2018 04:17
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.
set more off
use C:\Users\hp\Desktop\Thesis\BDKR72FL.DTA, clear
svyset psu [pw=sampwt], strata (strata)
**child stunting calculation
tab hw70 if hw70>9990,m
tab hw70 if hw70>9990, m nolabel
replace HAZ=. if HAZ>=9996
replace stunted=0 if HAZ~=.
replace stunted=1 if HAZ<-200
svy: tab stunted
**child wasting calculation
tab hw72 if hw72>9990,m
tab hw72 if hw72>9990,m nolabel
replace WAH=. if WAH>=9996
replace wasted=0 if WAH~=.
replace wasted=1 if WAH<-200
svy: tab wasted
**child underweight calculation
tab hw71 if hw71>9990,m
tab hw71 if hw71>9990,m nolabel
replace WAZ=. if WAZ>=9996
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
*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
ASIBUL ISLAM ANIK