Deal with missing data in BMI [message #13852] |
Fri, 12 January 2018 04:17 |
anikhpg42@gmail.com
Messages: 38 Registered: December 2017 Location: Bangladesh
|
Member |
|
|
Hi,
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.
Regards,
Anik
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
ASIBUL ISLAM ANIK
|
|
|
|
|
|
|