Re: Rate of exclusive breastfeeding in Nigeria (2018 DHS) [message #19137 is a reply to message #19093] |
Sat, 25 April 2020 16:13 |
Mlue
Messages: 92 Registered: February 2017 Location: North West
|
Senior Member |
|
|
Hello,
Try this code (below). Maybe it will point you in the right direction.
** OPEN THE DATA **.
*** I AM USING Stata DATA - I HAD NOT DOWNLOADED THE SPSS FILES (this code will also work for the SPSS file) ***.
CD "C:\Users\User01\Documents\DHS DATA\NIGERIA_2018\NGKR7ADT".
GET
STATA FILE='NGKR7AFL.DTA'.
DATASET NAME DataSet1 WINDOW=FRONT.
********************************************.
** GENERATE THE WEIGHT VARIABLE & WEIGHT DATA **.
COMPUTE weight = V005/1000000.
WEIGHT BY weight.
********************************************.
** PREPARE COMPLEX SURVEY VARIABLES **.
COMPUTE psu = V021.
COMPUTE strata = V023.
********************************************.
** RENAME A FEW VARIABLES TO BE USE IN ANALYSIS **.
RENAME VARIABLES (V013 = age) (V149 = education) (V190 = wealth) (V025 = residence) (V024 = region).
********************************************.
SORT CASES CASEID (A).
STRING hhid (A12).
COMPUTE hhid = SUBSTR(caseid,1,12).
VARIABLE LABELS hhid "hhid".
EXECUTE.
********************************************.
** REARRANGE DATA.
ADD FILES FILE *
/KEEP CASEID hhid ALL.
EXECUTE.
********************************************.
COMPUTE child_age = b19.
RECODE child_age (0 THRU 1 = 1) (2 THRU 3 = 2) (4 THRU 5 = 3) (6 THRU 8 = 4) (9 THRU 11 = 5)
(12 THRU 17 = 6) (18 THRU 23 = 7) (ELSE=SYSMIS) into child_age_grp.
VALUE LABELS child_age_grp 1 "0-1" 2 "2-3" 3"4-5" 4 "6-8" 5 "9-11" 6 "12-17" 7 "18-23".
VARIABLE LABELS child_age_grp 'Age group of child in months'.
EXECUTE.
********************************************.
* KEEP IF CHILD IS UNDER 24 MONTHS OLD AND LIVING WITH MOTHER.
SELECT IF child_age LT 24 & B9 EQ 0.
*SELECT IF B5 EQ 1.
********************************************.
* FIND THE YOUNGEST CHILD LIVING WITH THE MOTHER FOR EACH MOTHER.
SORT CASES BY V001 V002 V003.
AGGREGATE
/OUTFILE=* MODE=ADDVARIABLES
/BREAK=V001 V002 V003
/MINBIDX "MINBIDX"=MIN(BIDX).
EXECUTE.
* NEED TO DROP THOSE THAT ARE BIDX EQ 2 AND MINBIDX EQ 1.
SELECT IF (BIDX LE MINBIDX) .
EXECUTE.
********************************************.
* COMPONENTS OF CHILD FEEDING.
*// Plain water.
COMPUTE PlainW = 0.
IF (V409 GE 1 & V409 LE 7 = 1) PlainW = 1.
EXECUTE.
*// Non milk .
COMPUTE NonMilk = 0.
IF (V410 EQ 1 OR V413 EQ 1) NonMilk = 1.
IF (V412c GE 1 & V412c LE 7) NonMilk = 1.
EXECUTE.
*// Milk .
COMPUTE Milk = 0.
IF (V411 EQ 1 OR V411A EQ 1 OR V412A EQ 1 OR V414P EQ 1) Milk = 1.
EXECUTE.
*// Currently breastfeeding .
COMPUTE CBreastF=0.
IF (M4 = 95) CBreastF = 1.
VALUE LABELS CBreastF 0"Not breastfeeding" 1"Currently breastfeeding".
*// Ever bottle-fed .
COMPUTE BF=0.
IF (M38 = 1) BF = 1.
VALUE LABELS BF 0"Not bottle-fed" 1"Ever bottle-fed".
*// Complementary food .
COMPUTE Complem = 0.
IF (V414E EQ 1 OR V414F EQ 1 OR V414G EQ 1 OR V414H EQ 1 OR
V414I EQ 1 OR V414J EQ 1 OR V414K EQ 1 OR V414L EQ 1 OR
V414M EQ 1 OR V414N EQ 1 OR V414O EQ 1 OR V414P EQ 1 OR
V414S EQ 1 OR V414V EQ 1) Complem = 1.
IF V412A EQ 1 Complem = 1.
EXECUTE.
********************************************.
COMPUTE diet = 7.
IF (PlainW EQ 0 & NonMilk EQ 0 & Milk EQ 0 & Complem EQ 0) diet = 0.
IF (PlainW EQ 1 & NonMilk EQ 0 & Milk EQ 0 & Complem EQ 0) diet = 1.
IF (NonMilk EQ 1 & Milk EQ 0 & Complem EQ 0) diet = 2.
IF (Milk EQ 1 & Complem EQ 0) diet = 3.
IF (Milk EQ 0 & Complem EQ 1) diet = 4.
IF (Milk EQ 1 & Complem EQ 1) diet = 5.
IF (CBreastF EQ 0) diet = 6.
VARIABLE LABELS diet 'Breastfeeding status - checks'.
EXECUTE.
COMPUTE feeding = 1.
IF (PlainW EQ 1) feeding = 2.
IF (NonMilk EQ 1) feeding = 3.
IF (Milk EQ 1) feeding = 4.
IF (Complem EQ 1) feeding = 5.
IF (CBreastF EQ 0) feeding = 0.
VARIABLE LABELS feeding 'Breastfeeding status - final'.
VALUE LABELS feeding
0"Not breastfeeding"
1"Exclusively breastfed"
2"Plain water"
3"Non-milk liquids"
4"Other milk"
5"Complementary foods".
EXECUTE.
********************************************.
* Breastfeeding prevalence.
RECODE feeding (1 THRU 5 = 1) (0 = 0) INTO current_breast.
VALUE LABELS current_breast 0 "Not breastfeeding" 1 "Breastfeeding".
VARIABLE LABELS current_breast 'Currently breastfeeding'.
EXECUTE.
*creating the predominant breastfeeding variable.
RECODE feeding (1 THRU 3 = 1) (0 4 5 = 0) INTO predom.
VALUE LABELS predom 0 "Not predominant" 1 "Predominant".
VARIABLE LABELS predom 'Predominantly breastfeeding'.
EXECUTE.
** EVER BREASTFED **.
RECODE M4 (94 = 0) (ELSE= 1) INTO EverBF.
VALUE LABELS EverBF 0 "Not ever breastfed" 1 "Ever breastfed".
VARIABLE LABELS EverBF 'Ever breastfed'.
EXECUTE.
********************************************.
** EXCLUSIVE BREASTFEEDING.
RECODE feeding (1 = 1) (ELSE= 0) INTO exclusive_feed.
VALUE LABELS exclusive_feed 0 "Not exclusive" 1 "Exclusive".
VARIABLE LABELS exclusive_feed 'Exclusive breastfeeding'.
EXECUTE.
********************************************.
SELECT IF feeding LE 5.
******************************************************************************************.
** SELECT ONLY CHILDREN AGED LESS THAN 6 MONTHS **.
SELECT IF child_age LT 6.
********************************************.
** CHECK **.
FREQUENCIES VARIABLES= exclusive_feed
/ORDER=ANALYSIS.
CROSSTABS
/TABLES= child_age_grp BY exclusive_feed
/FORMAT=AVALUE TABLES
/CELLS=ROW
/COUNT ROUND CELL.
******************************************************************************************.
|
|
|