Home » Topics » Nutrition and Anthropometry » Minimum Meal frequency in BDHS 2014
Minimum Meal frequency in BDHS 2014 [message #11864] |
Wed, 22 February 2017 02:15 |
Md. Nurnabi Sheikh
Messages: 4 Registered: May 2016 Location: Bangladesh
|
Member |
|
|
I am working IYCF practice on BDHS child datasets for my MPH thesis,and trying to replicate Minimum meal frequency in table 11.6. But I am not able to get same percentages among breastfed children, non-breastfed children and all children age 6-23 months. I am working in stata and my algorithm as follows;
* Last child in the last 2 years living with mother
* age in months
gen age = v008-b3
* drop if too old or not alive
keep if age<24 & b5==1
* keep only those children living with mother ...
keep if b9==0
* ... and keep the last born of those
drop if _n > 0 & caseid == caseid[_n-1]
drop if age<6
*Minimum meal frequency
tab m39, m
*Minimum meal frequency for breastfeed child age 6-8 months, 9-23 months
recode m39 (2/7=1 "2-7"), gen(mm1)
recode m39 (3/7=1 "3-7"), gen(mm2)
*Minimum meal frequency for non-breastfeed child age 6-23 months
recode m39 (4/7=1 "4-7"), gen(mm3)
*Age group
recode age (6/8=1 "6-8")(9/23=2 "9-23"), gen (age_g)
*Breastfeeding status
gen still_feeding=1 if m4==95
replace still_feeding=0 if still_feeding==.
*Minimum meal frequency applying all conditions
gen mmf1=1 if mm1==1 & age_g==1 & still_feeding==1
gen mmf2=1 if mm2==1 & age_g==2 & still_feeding==1
gen mmf3=1 if mm3==1 & still_feeding==0
It would be very much helpful for me if any one help me with stata command.
Regards,
Nurnabi
Nurnabi
|
|
|
|
|
Re: Minimum Meal frequency in BDHS 2014 [message #14176 is a reply to message #14175] |
Thu, 01 March 2018 11:15 |
Louis
Messages: 3 Registered: February 2018 Location: Ghana
|
Member |
|
|
actually this is the little i have been able to do.
clonevar age= v222
codebook b9_01
keep if age<24
keep if b9_01==0
tab b9_01
drop if _n > 0 & caseid == caseid[_n-1]
drop if age <6
tab m4_1
codebook m4_1
*Weighting
gen v005_wgt= v005/1000000
*Age group recoding
*NB; clonevar age already deifned @ 26
recode age (6/8=1 "6-8")(9/11=2 "9-11") (12/17=3 "12-17") (18/23=4 "18-23"), gen (age_g)
*recode of m4_1 as number of breastfed and number of nonbreastfed children 6-23months
recode m4_1 (93/94=0 "Number of non-breastfed children 6-23 months") (95=1 "Number of breastfed children 6-23 months"), gen (still_feeding)
replace still_feeding=0 if still_feeding==.
*****MINIMUM DIETARY DIVERSITY MMD*****
*** MDD 7 food groups**
capture drop grpa
gen grpa=1 if v411a==1| v411==1|v414p==1|v414v==1
label value grpa grpa
tab grpa
capture drop grpb
gen grpb=1 if v414e==1| v414f==1| v412a==1
label value grpb grpb
tab grpb
capture drop grpc
gen grpc=1 if v414k==1| v414i==1| v414j==1
label value grpc grpc
tab grpc
capture drop grpd
gen grpd=1 if v414l==1
label value grpd grpd
tab grpd
capture drop grpe
gen grpe=1 if v414g==1
label value grpe grpe
tab grpe
capture drop grpf
gen grpf=1 if v414h==1| v414m==1|v414n==1
label value grpf grpf
tab grpf
capture drop grpg
gen grpg=1 if v414o==1
label value grpg grpg
tab grpg
** 7 Food groups***
egen dietd = rsum(grpa grpb grpc grpd grpe grpf grpg) if grpa~=.| grpb~=.| grpc~=.| grpd~=.| grpe~=.| grpf~=.| grpg~=.
** 4+ Foods FOR ALL CHILDREN***
recode dietd (1/3 .=0 "Not diverse") (4/7=1 "Diverse"), gen(diet4)
ta diet4 [iw=v005/1000000]
label value diet4 diet4
label var diet4 " Minimum dietary diversity"
tab diet4
**MDD for breastfed children**
gen mdd1=.
replace mdd1=1 if diet4==1& still_feeding==1
replace mdd1=0 if diet4==0 & still_feeding==1
label define mdd1 0"Not Diverse" 1"Diverse"
label values mdd1 mdd1
label var mdd1 " Minimum dietary diversity for Breastfed children"
tab mdd1
***MDD for nonbreastfed children***
gen mdd0=.
replace mdd0=1 if diet4==1& still_feeding==0
replace mdd0=0 if diet4==0 & still_feeding==0
label define mdd0 0"Not Diverse" 1"Diverse"
label values mdd0 mdd0
label var mdd0 " Minimum dietary diversity for nonbreastfed children"
tab mdd0
tab age_g diet4 [iw=v005/1000000], r
tab age_g mdd1 [iw=v005/1000000], r
tab age_g mdd0 [iw=v005/1000000], r
******* MINIMUM MEAL FREQUENCY MMF *******
*Minimum meal freq for group1*
capture drop mm1
gen byte mm1=.
replace mm1=1 if m39_1>=2 & still_feeding==1
replace mm1= 0 if m39_1<2 & still_feeding==1
tab mm1
label define mm1 0 "Not Freq" 1"Freq"
label values mm1 mm1
tab mm1
*Minimum meal freq for breastfed children aged 6-8months*
gen byte mmf1=.
replace mmf1=1 if mm1==1& age_g==1
replace mmf1=0 if mm1==0 & age_g==1
label define mmf1 0 "Not Freq" 1 "Freq"
label values mmf1 mmf1
tab mmf1
tab age_g mmf1,r
*Minimum meal freq for group2*
capture drop mm2
gen byte mm2=.
replace mm2=1 if m39_1>=3 & still_feeding==1
replace mm2= 0 if m39_1<3 & still_feeding==1
label define mm2 0 "Not Freq" 1"Freq"
label values mm2 mm2
tab mm2
*Minimum meal freq for breastfed children aged 9-11months*
capture drop mmf2
gen byte mmf2=.
replace mmf2=1 if mm2==1& age_g==2
replace mmf2=0 if mm2==0 & age_g==2
label define mmf2 0 "Not Freq" 1 "Freq"
label values mmf2 mmf2
tab mmf2
tab age_g mmf2,r
*Minimum meal freq for breastfed children aged 12-17months*
capture drop mmf3
gen byte mmf3=.
replace mmf3=1 if mm2==1& age_g==3
replace mmf3=0 if mm2==0 & age_g==3
label define mmf3 0 "Not Freq" 1 "Freq"
label values mmf3 mmf3
tab mmf3
tab age_g mmf3,r
*Minimum meal freq for breastfed children aged 18-23months*
capture drop mmf4
gen byte mmf4=.
replace mmf4=1 if mm2==1& age_g==4
replace mmf4=0 if mm2==0 & age_g==4
label define mmf4 0 "Not Freq" 1 "Freq"
label values mmf4 mmf4
tab mmf4
tab age_g mmf4,r
**Minimum meal freq for breastfed children aged 6-23months combined*
capture drop mmfb
egen byte mmfb= rowtotal (mmf1 mmf2 mmf3 mmf4), missing
label define mmfb 0 "Not Freq" 1 "Freq"
label values mmfb mmfb
tab mmfb
tab age_g mmfb,r
tab age_g mmfb [iweight=v005_wgt], r
****MMF FOR NON-BREASTFED CHILDREN***
** GENERATING MILK OR MILK PRODUCTS**
tab1 v411 v411a v414v, m
capture drop milk
gen byte milk= v411+ v411a +v414v
label var milk "Milk or milk products"
tab milk
** Non breastfed MMF proper**
egen sm= rowtotal (m39_1 milk), missing
tab sm
capture drop mmfn
gen byte mmfn=.
replace mmfn=1 if sm>=4 & still_feeding==0
replace mmfn=0 if sm<4 & still_feeding==0
label define mmfn 0 "Not Freq" 1 "Freq"
label values mmfn mmfn
tab mmfn
tab age_g mmfn [iweight=v005_wgt], r
label var mmfn " Minimum meal frequency for non-breastfed children 6-23 months"
**Total minimum meal frequency for all children 6-23 months**
egen MMF= rowtotal (mmfb mmfn), missing
label var MMF " Minimum meal frequency for all children 6-23 months"
label values MMF MMF
label define MMF 0" Not Freq" 1" Freq"
tab MMF
tab age_g MMF [iweight=v005_wgt], r
my problem now is how to generate the breast milk, milk or milk products to match the values in the report.
Sincerely,
Louis
|
|
|
|
|
|
|
Re: Indonesian : child age in month [message #14639 is a reply to message #14294] |
Wed, 25 April 2018 10:54 |
Hassen
Messages: 121 Registered: April 2018 Location: Ethiopia,Africa
|
Senior Member |
|
|
Dear All, As a biginner of using DHS Data It is not clear to creat IYCF Index from KR file for me. Thus I need your genuine support how to creat IYCF Index? What are the variables in KR file? I didn't get them.
Thank you for your assistance and guidance.
Hassen Ali(Chief Public Health Professional Specialist)
|
|
|
Re: Indonesian : child age in month [message #14651 is a reply to message #14639] |
Thu, 26 April 2018 03:55 |
Hassen
Messages: 121 Registered: April 2018 Location: Ethiopia,Africa
|
Senior Member |
|
|
Dear Our Hero,How Can I Construct IYCF Index,Women's Impowerment Index? I didn't get the variables from KR file? All DHS forum users, Please help me My Respected members!!
Hassen Ali(Chief Public Health Professional Specialist)
|
|
|
|
|
Re: Indonesia IYCF DHS 2012 [message #17619 is a reply to message #17607] |
Sun, 28 April 2019 23:44 |
Hai R
Messages: 15 Registered: March 2018 Location: Brisbane
|
Member |
|
|
Hi,
here is my commands, however, I got slightly different result compared to DHS report:
*2. Exclusive Breastfeeding (EBF)*
*child age (0-5 months for EBF)
recode age (0/5 = 1 "0-5")(6/8 = 2 "6-8")(9/11 = 3 "9-11")(12/17 = 4 "12-17")(18/23 = 5 "18-23"), gen(child_age1)
tab child_age1 [iw=rweight]
//Breastfeeding status.
gen water=0
gen liquids=0
gen milk=0
gen solids=0
gen breast=0
//Water
replace water=1 if (v409>=1 & v409<=7)
//Other non-milk liquids
//check for country specific liquids
foreach xvar of varlist v410 v411 v411a v412a v412c v413* {
replace liquids=1 if `xvar'>=1 & `xvar'<=7
}
* Powdered or tinned milk, formula, fresh milk
foreach xvar of varlist v411 v411a {
replace milk=1 if `xvar'>=1 & `xvar'<=7
}
* Solid food
* check for country specific foods
foreach xvar of varlist v412a v412c v413* {
replace solids=1 if `xvar'>=1 & `xvar'<=7
}
*Still breastfeeding
replace breast=1 if m4==95
tab1 water liquids milk solids breast
* Generate column variable used in table 11.3
gen feeding=1
replace feeding=2 if water==1
replace feeding=3 if liquids==1
replace feeding=4 if milk==1
replace feeding=5 if solids==1
replace feeding=0 if breast==0
tab feeding
label define feeding ///
0 "Not breastfeeding" 1 "Exclusive breastfeeding" ///
2 "+Water" 3 "+Liquids" ///
4 "+Other Milk" 5 "+Solids"
label val feeding breastfeeding
tab child_age feeding [iw=rweight], row
tab child_age1 feeding [iw=rweight], row
replace feeding=1 if feeding==1
replace feeding=0 if feeding==0
replace feeding=0 if feeding==2
replace feeding=0 if feeding==3
replace feeding=0 if feeding==4
replace feeding=0 if feeding==5
recode feeding (1=1 "Yes") (0=0 "No") if child_age1==1, gen (EBF)
label variable EBF "Exclusive Breast Feeding"
tab EBF [iw=rweight]
|
|
|
|
Re: Minimum Meal frequency in BDHS 2014 [message #17731 is a reply to message #12384] |
Thu, 16 May 2019 16:19 |
rayhangog@gmail.com
Messages: 4 Registered: January 2018 Location: New Delhi
|
Member |
|
|
Hello,
I am trying to compute the Minimum Meal Frequency from the Indian DHS 2015-16, following the commands given by Nurnabi and Trevor's instructions. My computed percentage (28.66%) is not matching with the reported percentage (35.9%) in the DHS-4 report. However, the sample size (69,690) is matching,
Could you anyone point out my mistake in the commands (below)? Or if possible, share the correct syntax for Minimum Meal Frequency and Minimum Acceptable diet, please.
I am using the following commands:
* Last child in the last 2 years living with mother
* age in months
gen age = v008-b3
* drop if too old or not alive
keep if age<24 & b5==1
* keep only those children living with mother ...
keep if b9==0
* ... and keep the last born of those
drop if _n > 0 & caseid == caseid[_n-1]
drop if age<6
*Minimum meal frequency
tab m39, m
*Minimum meal frequency for breastfeed child age 6-8 months, 9-23 months
recode m39 (2/7=1 "2-7")(else=0), gen(mm1)
recode m39 (3/7=1 "3-7")(else=0), gen(mm2)
*Minimum meal frequency for non-breastfeed child age 6-23 months
recode m39 (4/7=1 "4-7")(else=0), gen(mm3)
*Age group
recode age (6/8=1 "6-8")(9/23=2 "9-23"), gen (age_g)
*Breastfeeding status
gen still_feeding=1 if m4==95
replace still_feeding=0 if still_feeding==.
*Minimum meal frequency applying all conditions
gen mmf1=1 if mm1==1 & age_g==1 & still_feeding==1
gen mmf2=1 if mm2==1 & age_g==2 & still_feeding==1
gen mmf3=1 if mm3==1 & still_feeding==0
*Weight varible
gen wgt=v005/1000000
* Minimum meal frequency for all children (6=23 months)
gen MMF=0
replace MMF=1 if mmf1==1 | mmf2==1 | mmf3==1
tab MMF [iw=wgt]
Thank you,
Sk
[Updated on: Fri, 17 May 2019 14:14] Report message to a moderator
|
|
|
|
|
|
|
Goto Forum:
Current Time: Mon Oct 7 17:39:57 Coordinated Universal Time 2024
|