Title: Undernutrition among Women in Ethiopia

The data for this study came from the 2011 Ethiopian Demographic and Health survey (EDHS).

  1. The binary outcome variable used for this data: Body Mass Index

Women’s body mass index (BMI) (kg/m2) is used as a measure of women’s nutritional status, and those with a BMI value less than 18.5 are considered to be at risk of chronic energy deficiency (CED).

1: BMI<18.5. 0: BMI>=18.5

  1. What are the factors that affect Chronic Energy Deficiency among women in Ethiopia?
  1. Definition of the independent varaibles

Age: (1=‘15-19’; 2:3=‘20-29’; 4:5=‘30-39’; 6:7=‘40-49’)

Marital Status:(0=“1Never married”; 1:2=“2Married/Living together”;3:5=“3Widowed/Divorced/Separated)

Education(0=‘No education’; 1=‘Primary’; 2:3=‘secodary and above’)

Occupation(“0=‘Unemployed/Not known’; 1:3=‘Non-manual/Professional’; 4:9=‘Agricultural/Manual(skilled/unskilled)’; 96=‘Unemployed/Missing/not known’; 99=‘Unemployed/Missing/not known’”)

WealthIndex (1:2=‘1Poor’; 3=‘2Middle’; 4:5=‘3Rich’)

Children ever born(parity): “0=‘0’; 1:2=‘1-2’; 3:4=‘3-4’; 5:18=‘5+’)

Residence: (‘1=“Urban”; 2=“Rural”; else=NA’)

library(lmtest)
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library (car)
library(readstata13)
library(foreign)

library(survey)
## Loading required package: grid
## Loading required package: Matrix
## Loading required package: survival
## 
## Attaching package: 'survey'
## The following object is masked from 'package:graphics':
## 
##     dotchart
library(questionr)
library(stargazer)
## 
## Please cite as:
##  Hlavac, Marek (2015). stargazer: Well-Formatted Regression and Summary Statistics Tables.
##  R package version 5.2. http://CRAN.R-project.org/package=stargazer
dat2<-read.dta("C:/Users/fikre_001/Google Drive/Dem7283/DHS Resources/ET_2011_DHS_01242017_168_103714/etir61dt/ETIR61FL.dta", convert.factors = F)

# The dependent variable is Body mass index

mean(dat2$v445, na.rm=T)
## [1] 2305.865
# devide the dependent variable (bmi) by 100.
 
dat2$bmi<-dat2$v445/100

mean(dat2$bmi, na.rm=T)
## [1] 23.05865
# Select women who were not pregnant at the time of the survey. Since pregnancy has an effect on the measure of body mass index. 

# Recode BMI in to ( 1: BMI<18.5 as "CED", 0: BMI>=18.5)
dat3 <- dat2[dat2$v213!=1,]
dat3$binbmi <- 0
dat3[dat3$bmi < 18.5,]$binbmi <- 1

table(dat3$binbmi)
## 
##     0     1 
## 10939  4299
table(dat3$v501)
## 
##    0    1    2    3    4    5 
## 4406 8315  643  577  912  385
table(dat3$v012)
## 
##  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32 
## 894 766 647 869 530 907 379 540 461 444 951 524 418 606 311 809 214 315 
##  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49 
## 260 247 734 272 259 391 145 611 128 207 170 140 426 172 144 225 122
table(dat3$v013)
## 
##    1    2    3    4    5    6    7 
## 3706 2731 2810 1845 1801 1256 1089
#recode the independent varaibles in to a meaningful manner
# Marital Status
dat3$marst<-recode(dat3$v501, recodes='0="1Never married"; 1:2="2Married/Living together";3:5="3Widowed/Divorced/Separated"; else=NA')

#Education 
dat3$educ<-recode(dat3$v106, recodes="0='1No education'; 1='2Primary'; 2:3='3secodary and above'; else=NA", as.factor.result=T)

table(dat3$educ)
## 
##       1No education            2Primary 3secodary and above 
##                7465                5474                2299
table(dat3$marst)
## 
##              1Never married    2Married/Living together 
##                        4406                        8958 
## 3Widowed/Divorced/Separated 
##                        1874
table(dat3$occup)
## < table of extent 0 >
dat3$educ<-recode(dat3$v106, recodes="0='educ1no education'; 1='educ2primary'; 2:3='educ3secodary and above'; else=NA", as.factor.result=T)

#Occupation
dat3$occup<-recode(dat3$v717, recodes="0='1Unemployed/Missing/not known'; 1:3='2Non-manual/Professional'; 4:9='3Agricultural/Manual(skilled/unskilled)';96='1Unemployed/Missing/not known'; 99='1Unemployed/Missing/not known'; else=NA", as.factor.result=T)

#Age
dat3$age<-recode(dat3$v013, recodes="1='15-19'; 2:3='20-29'; 4:5='30-39'; 6:7='40-49'; else=NA", as.factor.result=T)
table(dat3$age)
## 
## 15-19 20-29 30-39 40-49 
##  3706  5541  3646  2345
#Children Ever Born 

dat3$parity<-recode(dat3$v201, recodes="0='0'; 1:2='1-2'; 3:4='3-4'; 5:18='5+'; else=NA", as.factor.result=T)

table(dat3$parity)
## 
##    0  1-2  3-4   5+ 
## 5406 3416 2438 3978
#wealth Index
dat3$wealthindex<-recode(dat3$v190, recodes="1:2='1Poor'; 3='2Middle'; 4:5='3Rich'; else=NA", as.factor.result=T)

table(dat3$wealthindex)
## 
##   1Poor 2Middle   3Rich 
##    5499    2085    7654
#Residence
dat3$residence<-recode(dat3$v102, recodes='1="Urban"; 2="Rural"; else=NA')

Analysis

Weighted Analysis

# Calculate the DHS sample weight 


dat3$weight<-dat3$v005/1000000

options(survey.lonely.psu = "adjust")

des<-svydesign(ids=~1, strata=~v022, weights=~weight, data = dat3[is.na(dat3$weight)==F,])

cat<-svytable(~binbmi+educ, design =des)

Descriptive Statistics (Using No Weights vs with full Survey Design and Weight)

#Education

#with Survey Design
prop.table(cat<-svytable(~binbmi+educ, design =des), margin = 2)*100
##       educ
## binbmi educ1no education educ2primary educ3secodary and above
##      0          74.81790     70.99769                83.04315
##      1          25.18210     29.00231                16.95685
# with out survey Design
prop.table(table(dat3$binbmi, dat3$educ), margin=2)*100
##    
##     educ1no education educ2primary educ3secodary and above
##   0          69.52445     70.35075                82.55763
##   1          30.47555     29.64925                17.44237
#Marital Status 

# with Survey Design
prop.table(cat<-svytable(~binbmi+marst, design =des), margin = 2)*100
##       marst
## binbmi 1Never married 2Married/Living together 3Widowed/Divorced/Separated
##      0       69.44184                 76.04975                    77.73407
##      1       30.55816                 23.95025                    22.26593
#with out Survey Design 

prop.table(table(dat3$binbmi, dat3$marst), margin=2)*100
##    
##     1Never married 2Married/Living together 3Widowed/Divorced/Separated
##   0       69.06491                 72.42688                    75.13340
##   1       30.93509                 27.57312                    24.86660
#Marital Status 

# with Survey Design
prop.table(cat<-svytable(~binbmi+marst, design =des), margin = 2)*100
##       marst
## binbmi 1Never married 2Married/Living together 3Widowed/Divorced/Separated
##      0       69.44184                 76.04975                    77.73407
##      1       30.55816                 23.95025                    22.26593
#with out Survey Design 

prop.table(table(dat3$binbmi, dat3$marst), margin=2)*100
##    
##     1Never married 2Married/Living together 3Widowed/Divorced/Separated
##   0       69.06491                 72.42688                    75.13340
##   1       30.93509                 27.57312                    24.86660
#Marital Status 

# with Survey Design
prop.table(cat<-svytable(~binbmi+marst, design =des), margin = 2)*100
##       marst
## binbmi 1Never married 2Married/Living together 3Widowed/Divorced/Separated
##      0       69.44184                 76.04975                    77.73407
##      1       30.55816                 23.95025                    22.26593
#with out Survey Design 

prop.table(table(dat3$binbmi, dat3$marst), margin=2)*100
##    
##     1Never married 2Married/Living together 3Widowed/Divorced/Separated
##   0       69.06491                 72.42688                    75.13340
##   1       30.93509                 27.57312                    24.86660
## Occupation

# with Survey Design
prop.table(cat<-svytable(~binbmi+occup, design =des), margin = 2)*100
##       occup
## binbmi 1Unemployed/Missing/not known 2Non-manual/Professional
##      0                      73.89366                 78.06614
##      1                      26.10634                 21.93386
##       occup
## binbmi 3Agricultural/Manual(skilled/unskilled)
##      0                                72.60727
##      1                                27.39273
#with out Survey Design 

prop.table(table(dat3$binbmi, dat3$occup), margin=2)*100
##    
##     1Unemployed/Missing/not known 2Non-manual/Professional
##   0                      69.29600                 79.81054
##   1                      30.70400                 20.18946
##    
##     3Agricultural/Manual(skilled/unskilled)
##   0                                69.84879
##   1                                30.15121
## Children Ever Born (Parity)

# with Survey Design
prop.table(cat<-svytable(~binbmi+parity, design =des), margin = 2)*100
##       parity
## binbmi        0      1-2      3-4       5+
##      0 70.58895 77.53118 78.42045 74.18817
##      1 29.41105 22.46882 21.57955 25.81183
#with out Survey Design 

prop.table(table(dat3$binbmi, dat3$parity), margin=2)*100
##    
##            0      1-2      3-4       5+
##   0 70.03330 75.67330 72.51846 70.38713
##   1 29.96670 24.32670 27.48154 29.61287
## Age

# with Survey Design
prop.table(cat<-svytable(~binbmi+age, design =des), margin = 2)*100
##       age
## binbmi    15-19    20-29    30-39    40-49
##      0 65.33506 79.78494 77.17317 72.15844
##      1 34.66494 20.21506 22.82683 27.84156
#with out Survey Design 

prop.table(table(dat3$binbmi, dat3$age), margin=2)*100
##    
##        15-19    20-29    30-39    40-49
##   0 64.32812 75.81664 74.35546 70.06397
##   1 35.67188 24.18336 25.64454 29.93603
## Residence
# with Survey Design
prop.table(cat<-svytable(~binbmi+residence, design =des), margin = 2)*100
##       residence
## binbmi    Rural    Urban
##      0 72.06935 81.11858
##      1 27.93065 18.88142
#with out Survey Design 

prop.table(table(dat3$binbmi, dat3$residence), margin=2)*100
##    
##        Rural    Urban
##   0 66.95883 81.43194
##   1 33.04117 18.56806
## Wealth Index
# with Survey Design
prop.table(cat<-svytable(~binbmi+wealthindex, design =des), margin = 2)*100
##       wealthindex
## binbmi    1Poor  2Middle    3Rich
##      0 69.62378 74.34625 77.95120
##      1 30.37622 25.65375 22.04880
#with out Survey Design 

prop.table(table(dat3$binbmi, dat3$wealthindex), margin=2)*100
##    
##        1Poor  2Middle    3Rich
##   0 62.35679 70.02398 79.04364
##   1 37.64321 29.97602 20.95636

From the above descriptive statistics we can see that the prevalence of Chronic Energy Deficiency (BMI<18.5) is higher in the sample than the population.

Regresion Analysis

fit1<-lm(binbmi~educ+age+parity+marst+residence+wealthindex, dat=dat3)

summary(fit1)
## 
## Call:
## lm(formula = binbmi ~ educ + age + parity + marst + residence + 
##     wealthindex, data = dat3)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -0.4873 -0.3328 -0.2135  0.5832  0.9116 
## 
## Coefficients:
##                                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                       0.471994   0.011183  42.208  < 2e-16 ***
## educeduc2primary                  0.000255   0.009228   0.028 0.977958    
## educeduc3secodary and above      -0.040732   0.013451  -3.028 0.002465 ** 
## age20-29                         -0.086807   0.011772  -7.374 1.74e-13 ***
## age30-39                         -0.079047   0.015196  -5.202 2.00e-07 ***
## age40-49                         -0.042091   0.017273  -2.437 0.014826 *  
## parity1-2                         0.015047   0.015025   1.001 0.316619    
## parity3-4                         0.024667   0.016926   1.457 0.145039    
## parity5+                          0.005110   0.017948   0.285 0.775842    
## marst2Married/Living together    -0.055406   0.014891  -3.721 0.000199 ***
## marst3Widowed/Divorced/Separated -0.065492   0.016906  -3.874 0.000108 ***
## residenceUrban                   -0.069220   0.010779  -6.422 1.39e-10 ***
## wealthindex2Middle               -0.079103   0.011347  -6.971 3.28e-12 ***
## wealthindex3Rich                 -0.121382   0.010160 -11.947  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.44 on 15224 degrees of freedom
## Multiple R-squared:  0.04496,    Adjusted R-squared:  0.04414 
## F-statistic: 55.13 on 13 and 15224 DF,  p-value: < 2.2e-16
fit2<-svyglm(binbmi~educ + age + parity + marst + residence + wealthindex, des, family=gaussian)

summary(fit2)
## 
## Call:
## svyglm(formula = binbmi ~ educ + age + parity + marst + residence + 
##     wealthindex, des, family = gaussian)
## 
## Survey design:
## svydesign(ids = ~1, strata = ~v022, weights = ~weight, data = dat3[is.na(dat3$weight) == 
##     F, ])
## 
## Coefficients:
##                                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                       0.396961   0.016365  24.256  < 2e-16 ***
## educeduc2primary                  0.016921   0.012832   1.319  0.18731    
## educeduc3secodary and above      -0.044343   0.018659  -2.377  0.01749 *  
## age20-29                         -0.115817   0.016365  -7.077 1.53e-12 ***
## age30-39                         -0.084899   0.022662  -3.746  0.00018 ***
## age40-49                         -0.038320   0.025151  -1.524  0.12763    
## parity1-2                         0.018692   0.022873   0.817  0.41382    
## parity3-4                         0.003436   0.025124   0.137  0.89121    
## parity5+                          0.003617   0.027555   0.131  0.89558    
## marst2Married/Living together    -0.043949   0.022445  -1.958  0.05024 .  
## marst3Widowed/Divorced/Separated -0.061918   0.024054  -2.574  0.01006 *  
## residenceUrban                   -0.058245   0.016322  -3.569  0.00036 ***
## wealthindex2Middle               -0.046529   0.014872  -3.129  0.00176 ** 
## wealthindex3Rich                 -0.051541   0.014780  -3.487  0.00049 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 0.1851432)
## 
## Number of Fisher Scoring iterations: 2
stargazer(fit1, fit2, style="demography", type="text", column.labels = c("OLS", "Weights", "Survey"),title = "Regression models for BMI using survey data - EDHS 2011", 
covariate.labels=c("Primary School",  "Secondary and above", " Age 20-29",  "Age 30-39",  "Age 40-49",  "Parity 1-2", "Parity 3-4", "Parity  5+" , 
"Married /Living Togther", "Widowed/Divorced/Separated", "Residence Urban", "Wealth Index Middle" , "Wealth Index Rich" ), 
keep.stat="n", model.names=F, align=T, ci=T)
## 
## Regression models for BMI using survey data - EDHS 2011
## -------------------------------------------------------------
##                                          binbmi              
##                                  OLS             Weights     
##                                Model 1           Model 2     
## -------------------------------------------------------------
## Primary School                  0.0003            0.017      
##                            (-0.018, 0.018)   (-0.008, 0.042) 
## Secondary and above            -0.041**          -0.044*     
##                            (-0.067, -0.014) (-0.081, -0.008) 
## Age 20-29                     -0.087***         -0.116***    
##                            (-0.110, -0.064) (-0.148, -0.084) 
## Age 30-39                     -0.079***         -0.085***    
##                            (-0.109, -0.049) (-0.129, -0.040) 
## Age 40-49                      -0.042*           -0.038      
##                            (-0.076, -0.008)  (-0.088, 0.011) 
## Parity 1-2                      0.015             0.019      
##                            (-0.014, 0.044)   (-0.026, 0.064) 
## Parity 3-4                      0.025             0.003      
##                            (-0.009, 0.058)   (-0.046, 0.053) 
## Parity 5+                       0.005             0.004      
##                            (-0.030, 0.040)   (-0.050, 0.058) 
## Married /Living Togther       -0.055***          -0.044      
##                            (-0.085, -0.026) (-0.088, 0.00004)
## Widowed/Divorced/Separated    -0.065***          -0.062*     
##                            (-0.099, -0.032) (-0.109, -0.015) 
## Residence Urban               -0.069***         -0.058***    
##                            (-0.090, -0.048) (-0.090, -0.026) 
## Wealth Index Middle           -0.079***         -0.047**     
##                            (-0.101, -0.057) (-0.076, -0.017) 
## Wealth Index Rich             -0.121***         -0.052***    
##                            (-0.141, -0.101) (-0.081, -0.023) 
## Constant                       0.472***         0.397***     
##                             (0.450, 0.494)   (0.365, 0.429)  
## N                               15,238           15,238      
## -------------------------------------------------------------
## *p < .05; **p < .01; ***p < .001