The DHS Program User Forum
Discussions regarding The DHS Program data and results
Home » Countries » India » Estimation of percentage of 20-24 year old women who married before the age of 18
Re: Estimation of percentage of 20-24 year old women who married before the age of 18 [message #25531 is a reply to message #25516] Fri, 04 November 2022 08:55 Go to previous messageGo to previous message
Bridgette-DHS is currently offline  Bridgette-DHS
Messages: 3155
Registered: February 2013
Senior Member
Following is a response from DHS staff member, Tom Pullum:

Here is a Stata program that does what you want to do. It includes a translation of the CSPro instructions for coding age at marriage in this survey. I have included some lines (between "/*" and "*/") that give slightly different results. There were 2,487 women with a year of marriage but a missing month of marriage. Those lines assign month=6, which is often done when a month is missing, but the CSPro code treated those cases as NA. The Stata program does not give the rows for 20-49 and 25-49 but they could be added.

* Replication of Table 6.2, Age at First Marriage, in the India 2019-21 DHS (NFHS-5) 

use "...IAIR7DFL.dta" , clear

gen never_married=0
replace never_married=1 if v501==0

/* 
* Procedure that allocates cases with month missing to month 6 and uses the earlier of
*   the reported dates at first marriage and first cohabitation (if both are given)
gen     cmc_first_mar=s308c
replace cmc_first_mar=12*(s308y-1900)+6 if s308y<9998 & s308m==98
replace cmc_first_mar=. if s308y==9998

gen cmc_first_cohab=12*(v508-1900)+v507

gen afc=int((cmc_first_cohab-v011)/12)
gen afm=int((cmc_first_mar-v011)/12)

replace afm=min(afc,afm)
*/

* Procedure used in the CSPro construction of the table
gen v511x=.
replace v511x=s309 if s309>=0 & s309<=96
replace v511x=int((s308c-v011)/12) if s308c>=500 & s308c<=1500
replace afm=v511x

replace afm=99 if v501==0

* afm should be over-ridden as NA if v501==0

local lcutoffs 15 18 20 21 25
foreach lc of local lcutoffs {
gen     marr_by_`lc'=0
replace marr_by_`lc'=1 if afm<`lc'
}

tab v013 marr_by_15           [iweight=v005/1000000], row
tab v013 marr_by_18 if v013>1 [iweight=v005/1000000], row
tab v013 marr_by_20 if v013>1 [iweight=v005/1000000], row
tab v013 marr_by_21 if v013>2 [iweight=v005/1000000], row
tab v013 marr_by_25 if v013>2 [iweight=v005/1000000], row
tab v013 never_married        [iweight=v005/1000000], row

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Percentages to numbers
Next Topic: NFHS-5, Household structure
Goto Forum:
  


Current Time: Tue Sep 17 13:15:06 Coordinated Universal Time 2024