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: Tue Nov 4 01:38:08 Coordinated Universal Time 2025 
 |