clear clear matrix clear mata set more off set maxvar 30000 /* download microdata from DHS site - all waves IV and higher, DHS only (not MIS, AIS). use Individual recode with _IR suffix. https://dhsprogram.com/data/Data-Processing.cfm" Individual Women's Data - Individual Recode (IR) This dataset has one record for every eligible woman as defined by the household schedule. It contains all the data collected in the women's questionnaire plus some variables from the household. Up to 20 births in the birth history, and up to 6 children under age 5, for whom pregnancy and postnatal care as well as immunization and health data were collected, can be found in this file. The fertility and mortality programs distributed by DHS use this file for data input. The unit of analysis (case) in this file is the woman. */ *** Change this directory global output = "/Mac/Dropbox/Education/Research/output" global overflow = "/Mac/temp" foreach file in ALIR50FL.DTA{ // AMIR42FL.DTA AMIR54FL.DTA AMIR61FL.DTA AZIR52FL.DTA BDIR41FL.DTA BDIR4JFL.DTA BDIR51FL.DTA BDIR61FL.DTA BDIR70FL.DTA BFIR43FL.DTA BFIR62FL.DTA BJIR41FL.DTA BJIR51FL.DTA BJIR61FL.DTA BOIR41FL.DTA BOIR51FL.DTA BUIR61FL.DTA CDIR50FL.DTA CDIR61FL.DTA CGIR51FL.DTA CGIR60FL.DTA CIIR61FL.DTA CMIR44FL.DTA CMIR60FL.DTA COIR41FL.DTA COIR53FL.DTA COIR61FL.DTA DRIR41FL.DTA DRIR4AFL.DTA DRIR52FL.DTA DRIR61FL.DTA EGIR42FL.DTA EGIR4AFL.DTA EGIR51FL.DTA EGIR5AFL.DTA EGIR61FL.DTA ETIR41FL.DTA ETIR51FL.DTA ETIR61FL.DTA GAIR41FL.DTA GAIR60FL.DTA GHIR41FL.DTA GHIR4BFL.DTA GHIR5AFL.DTA GHIR70FL.DTA GMIR60FL.DTA GNIR41FL.DTA GNIR52FL.DTA GNIR61FL.DTA GUIR41FL.DTA GYIR5IFL.DTA HNIR52FL.DTA HNIR62FL.DTA HTIR42FL.DTA HTIR52FL.DTA HTIR61FL.DTA IAIR42FL.DTA IAIR52FL.DTA IDIR42FL.DTA IDIR51FL.DTA IDIR63FL.DTA JOIR42FL.DTA JOIR51FL.DTA JOIR61FL.DTA JOIR6CFL.DTA KEIR42FL.DTA KEIR52FL.DTA KEIR70FL.DTA KHIR42FL.DTA KHIR51FL.DTA KHIR61FL.DTA KHIR72FL.DTA KKIR42FL.DTA KMIR61FL.DTA KYIR61FL.DTA LBIR51FL.DTA LBIR6AFL.DTA LSIR41FL.DTA LSIR61FL.DTA MAIR43FL.DTA MBIR53FL.DTA MDIR41FL.DTA MDIR51FL.DTA MLIR41FL.DTA MLIR53FL.DTA MLIR6HFL.DTA MVIR51FL.DTA MWIR41FL.DTA MWIR4DFL.DTA MWIR61FL.DTA MZIR41FL.DTA MZIR62FL.DTA NCIR41FL.DTA NGIR4BFL.DTA NGIR53FL.DTA NGIR6AFL.DTA NIIR51FL.DTA NIIR61FL.DTA NMIR41FL.DTA NMIR51FL.DTA NMIR61FL.DTA NPIR41FL.DTA NPIR51FL.DTA NPIR60FL.DTA PEIR41FL.DTA PEIR51FL.DTA PEIR5IFL.DTA PEIR61FL.DTA PEIR6AFL.DTA PEIR6IFL.DTA PHIR41FL.DTA PHIR52FL.DTA PHIR61FL.DTA PKIR52FL.DTA PKIR61FL.DTA RWIR41FL.DTA RWIR53FL.DTA RWIR5AFL.DTA RWIR61FL.DTA SLIR51FL.DTA SLIR61FL.DTA SNIR4HFL.DTA SNIR61FL.DTA SNIR6DFL.DTA SNIR6RFL.DTA SNIR70FL.DTA STIR50FL.DTA SZIR51FL.DTA TDIR41FL.DTA TGIR61FL.DTA TJIR61FL.DTA TLIR61FL.DTA TRIR41FL.DTA TRIR4AFL.DTA TZIR41FL.DTA TZIR4IFL.DTA TZIR63FL.DTA UAIR51FL.DTA UGIR41FL.DTA UGIR52FL.DTA UGIR60FL.DTA VNIR41FL.DTA YEIR61FL.DTA ZMIR42FL.DTA ZMIR51FL.DTA ZMIR61FL.DTA ZWIR42FL.DTA ZWIR51FL.DTA ZWIR62FL.DTA { use "$overflow/`file'", clear local masterlist "caseid v000 v001 v002 v003 v004 v005 v006 v007 v008 v009 v010 v011 v012 v013 v014 v024 v106 v107 v133 v149 v155 v201 bord_01 b3_01 b3_02 b3_03 b3_04 b3_05 b3_06 b3_07 b3_08 b3_09 b3_10 b3_11 b3_12 b3_13 b3_14 b3_15 b3_16 b3_17 b3_18 b3_19 b3_20 b5_01 b5_02 b5_03 b5_04 b5_05 b5_06 b5_07 b5_08 b5_09 b5_10 b5_11 b5_12 b5_13 b5_14 b5_15 b5_16 b5_17 b5_18 b5_19 b5_20 b7_01 b7_02 b7_03 b7_04 b7_05 b7_06 b7_07 b7_08 b7_09 b7_10 b7_11 b7_12 b7_13 b7_14 b7_15 b7_16 b7_17 b7_18 b7_19 b7_20" keep `masterlist' egen tempccode = sieve(v000), keep(a) kountry tempccode, from(iso2c) to(iso3c) drop tempccode *** get how many kids survive gen numberbirths = bord_01 replace numberbirths = 0 if missing(numberbirths) egen kidsalive = rsum2(b5*), allmiss gen survivalrate = kidsalive/numberbirths if !missing(kidsalive) rename v201 kidseverborn gen kidsdead = kidseverborn - kidsalive *** get ages of children at death egen diedby1month = anycount(b7*), values(0,1) replace diedby1month =. if missing(kidsdead) egen diedby1year = anycount(b7*), values(0/12) replace diedby1year =. if missing(kidsdead) egen diedby5years = anycount(b7*), values(0/60) replace diedby5years =. if missing(kidsdead) *** age of mom when she had each kid, in cmc foreach var of varlist b3_* { gen momage`var'=`var'-v011 } *** total kids had by various ages egen kidsby25 = anycount(momageb3*), values(0/300) saveold "$overflow/short_`file'", replace } *** append the short files use "$overflow/short_ALIR50FL.DTA", clear foreach survey in short_AMIR42FL short_AMIR54FL short_AMIR61FL short_AZIR52FL short_BDIR41FL short_BDIR4JFL short_BDIR51FL short_BDIR61FL short_BDIR70FL short_BFIR43FL short_BFIR62FL short_BJIR41FL short_BJIR51FL short_BJIR61FL short_BOIR41FL short_BOIR51FL short_BUIR61FL short_CDIR50FL short_CDIR61FL short_CGIR51FL short_CGIR60FL short_CIIR61FL short_CMIR44FL short_CMIR60FL short_COIR41FL short_COIR53FL short_COIR61FL short_DRIR41FL short_DRIR4AFL short_DRIR52FL short_DRIR61FL short_EGIR42FL short_EGIR4AFL short_EGIR51FL short_EGIR5AFL short_EGIR61FL short_ETIR41FL short_ETIR51FL short_ETIR61FL short_GAIR41FL short_GAIR60FL short_GHIR41FL short_GHIR4BFL short_GHIR5AFL short_GHIR70FL short_GMIR60FL short_GNIR41FL short_GNIR52FL short_GNIR61FL short_GUIR41FL short_GYIR5IFL short_HNIR52FL short_HNIR62FL short_HTIR42FL short_HTIR52FL short_HTIR61FL short_IAIR42FL short_IAIR52FL short_IDIR42FL short_IDIR51FL short_IDIR63FL short_JOIR42FL short_JOIR51FL short_JOIR61FL short_JOIR6CFL short_KEIR42FL short_KEIR52FL short_KEIR70FL short_KHIR42FL short_KHIR51FL short_KHIR61FL short_KHIR72FL short_KKIR42FL short_KMIR61FL short_KYIR61FL short_LBIR51FL short_LBIR6AFL short_LSIR41FL short_LSIR61FL short_MAIR43FL short_MBIR53FL short_MDIR41FL short_MDIR51FL short_MLIR41FL short_MLIR53FL short_MLIR6HFL short_MVIR51FL short_MWIR41FL short_MWIR4DFL short_MWIR61FL short_MZIR41FL short_MZIR62FL short_NCIR41FL short_NGIR4BFL short_NGIR53FL short_NGIR6AFL short_NIIR51FL short_NIIR61FL short_NMIR41FL short_NMIR51FL short_NMIR61FL short_NPIR41FL short_NPIR51FL short_NPIR60FL short_PEIR41FL short_PEIR51FL short_PEIR5IFL short_PEIR61FL short_PEIR6AFL short_PEIR6IFL short_PHIR41FL short_PHIR52FL short_PHIR61FL short_PKIR52FL short_PKIR61FL short_RWIR41FL short_RWIR53FL short_RWIR5AFL short_RWIR61FL short_SLIR51FL short_SLIR61FL short_SNIR4HFL short_SNIR61FL short_SNIR6DFL short_SNIR6RFL short_SNIR70FL short_STIR50FL short_SZIR51FL short_TDIR41FL short_TGIR61FL short_TJIR61FL short_TLIR61FL short_TRIR41FL short_TRIR4AFL short_TZIR41FL short_TZIR4IFL short_TZIR63FL short_UAIR51FL short_UGIR41FL short_UGIR52FL short_UGIR60FL short_VNIR41FL short_YEIR61FL short_ZMIR42FL short_ZMIR51FL short_ZMIR61FL short_ZWIR42FL short_ZWIR51FL short_ZWIR62FL{ append using "$overflow/`survey'" } *** rename variables rename _ISO3C_ ccode rename v000 countryphase rename v001 clusternumber rename v002 hhnumber rename v003 linenumber rename v004 areaunit rename v005 sampleweight rename v006 interviewmonth rename v007 interviewyear rename v008 interviewdatecmc rename v009 birthmonth rename v010 birthyear rename v011 birthdatecmc rename v012 age rename v024 region rename v106 edlevel rename v133 edsingleyrs rename v155 literacy *** Add labels label variable survivalrate "living children / children ever born" label variable kidsby25 "number of children born by mother age 25" label variable diedby1month "number of children who died by 1 month of age" label variable diedby1year "number of children who died by 1 year of age" label variable diedby5years "number of children who died by 5 years of age" *** Clean up ISO3 codes tab countryphase if missing(ccode) gen tempnewcode = "" replace tempnewcode = "VNM" if countryphase == "VNT" replace tempnewcode = "BDI" if countryphase == "BU6" replace tempnewcode = "DOM" if countryphase == "DR3" replace tempnewcode = "IND" if countryphase == "IA3" replace tempnewcode = "IND" if countryphase == "IA5" replace tempnewcode = "KAZ" if countryphase == "KK3" replace tempnewcode = "MDA" if countryphase == "MB4" replace tempnewcode = "DOM" if countryphase == "DR4" replace tempnewcode = "DOM" if countryphase == "DR5" replace tempnewcode = "DOM" if countryphase == "DR6" replace tempnewcode = "NAM" if countryphase == "NM4" replace tempnewcode = "NAM" if countryphase == "NM5" replace tempnewcode = "NAM" if countryphase == "NM6" replace ccode = tempnewcode if missing(ccode) tab countryphase if missing(ccode) *missing not found, all good keep ccode countryphase survivalrate kidsby25 diedby* countryphase clusternumbe hhnumber linenumber areaunit sampleweight interviewmon interviewyea interviewdat birthmonth birthyear birthdatecmc age region edlevel edsingleyrs literacy kidseverborn saveold "$output/DHSblog.dta", replace version(13) exit