/***************************************************************************** This do file cleans and processes baseline data from SPOON GUATEMALA and creates a dataset at the household level Updated on 2/11/19 *****************************************************************************/ ** DEMOGRAPHICS ** use "$bl_raw/S02Val.dta", clear distinct idunico sort idunico personid gen communityid=comu gen idpersona=P0201A gen name=P0201B gen last_name=P0201C *Male gen male=(P0202==1) replace male=. if P0202==. label var male "Hombre=1" *Age gen age=P0203 replace age=. if P0203==. label var age "Edad (años)" *Birthday gen bday=mdy(P0205M, P0205D, P0295A) format bday %d *Mother of target child gen mom=(P0203A==1) replace mom=. if P0203A==. label var mom "Madre Objetivo" tab mom if age==0 // 7 moms with age=0; mistake // use their momID to update gen momID_nomatch=P0214 if mom==1 & age==0 egen max_momID_nomatch=max(momID_nomatch), by(idunico) gen mom_ed=1 if idpersona==max_momID_nomatch replace mom=. if mom==1 & age==0 replace mom=mom_ed if mom==. replace mom=1 if idunico==5420221 & idpersona==2 // momID missing for child, but is child of household head - assume spouse of head is mom distinct idunico if mom==1 tab mom if age<12 // no obs tab mom if male==1 // 1 obs (idunico==1000911), mistake inputting sex, replace replace male=0 if male==1 & mom==1 tab mom if male==1 // no obs * Some moms incorrectly identified based on decisions, grit, rosenberg and knowledge dataset; update here replace mom=1 if personid==127006107 replace mom=. if personid==6009102 replace mom=1 if personid==6009106 replace mom=. if personid==448025105 replace mom=1 if personid==448025104 replace mom=. if personid==109016102 replace mom=1 if personid==109016101 replace mom=. if personid==512059106 replace mom=1 if personid==512059102 *Relation to Household Head gen relation=P0204 copydesc P0204 relation label var relation "Relacion con la cabeza del hogar" gen hh_head=. replace hh_head=(relation==1) replace hh_head=. if relation==. label var hh_head "=1 si es la cabeza del hogar" gen spouse_hh=. replace spouse_hh=(relation==2) replace spouse_hh=. if relation==. label var spouse_hh "=1 si es conyuge de la cabeza del hogar" *Married or in partnership gen married=(P0206==2 | P0206==3) replace married=. if P0206==. label var married "Casado/en concubinato=1" * Parents gen dad_house=(P0210==1) replace dad_house=. if P0210==. label var dad_house "Padre vive en casa=1" gen mom_house=(P0213==1) replace mom_house=. if P0213==. label var mom_house "Madre vive en casa=1" gen spouseID=P0207 *Spouse of mom listed as themselves or parents; update replace spouseID=1 if personid==36017102 replace spouseID=2 if personid==36017101 replace spouseID=3 if personid==36030104 replace spouseID=4 if personid==36030103 replace spouseID=4 if personid==100016103 replace spouseID=3 if personid==100016104 replace spouseID=1 if personid==100051102 replace spouseID=2 if personid==100051101 replace spouseID=1 if personid==102007102 replace spouseID=2 if personid==102007101 replace spouseID=1 if personid==117009102 replace spouseID=2 if personid==117009101 replace spouseID=1 if personid==188012102 replace spouseID=4 if personid==523017105 replace spouseID=5 if personid==523017104 gen dadID=P0211 gen momID=P0214 // missing means mother or father does not live in household replace momID=3 if personid==526002108 // update missing mom ID based on practice data set replace momID=2 if personid==512014104 replace momID=. if age>2 replace momID=2 if personid==178009108 replace mom_house=1 if personid==178009108 replace momID=2 if personid==542022103 replace mom_house=1 if personid==542022103 replace momID=2 if personid==566032106 replace mom_house=1 if personid==566032106 *Identify dad of target child *Biological dad of child already born: replace dadID=. if age>2 replace dadID=1 if personid==178009108 replace dad_house=1 if personid==178009108 replace dadID=1 if personid==542022103 replace dad_house=1 if personid==542022103 replace dadID=1 if personid==566032106 replace dad_house=1 if personid==566032106 egen max_dadID=max(dadID), by(idunico) egen min_dadID=min(dadID), by(idunico) gen dad=1 if P0201A==max_dadID | P0201A==min_dadID & max_dadID!=. *Spouse of target mom gen mom_spouseID=spouseID if mom==1 egen max_mom_spouseID=max(mom_spouseID), by(idunico) egen min_mom_spouseID=min(mom_spouseID), by(idunico) gen dad2=1 if max_mom_spouseID==P0201A | min_mom_spouseID==P0201A *For households without a child recorded (no response to dad in house question), assume dad is the spouse of the mother egen dad_h=max(dad_house), by(idunico) replace dad=dad2 if dad_h==. count if dad==1 & male==0 replace male=1 if personid==127001103 // wrong sex marked, update * Weight gen weight=P0215B if P0215D==1 replace weight=P0215B/2.2046 if P0215D==2 label var weight "Peso (kg)" *Indigenous gen indigenous=(P0217!=0 & P0217!=.) replace indigenous=. if P0217==. label var indigenous "Se identifica indigena=1" *Literacy gen read=(P0301==1) replace read=. if P0301==. label var read "Sabe leer=1" *Write gen write=(P0302==1) replace write=. if P0302==. label var write "Sabe escribir=1" *Education gen no_school=(P0303==2) replace no_school=. if P0303==. gen educ=P0304A label var educ "Nivel más alto de educacion" gen curso=P0304B /*Mom education egen educ_mom=max(P0215N), by(idunico) label var educ_mom "Nivel más alto de educacion de la madre" egen curso_mom=max(P0215C), by(idunico) replace curso_mom=. if mom!=1 replace educ=educ_mom if mom==1 & educ==. replace curso=curso_mom if mom==1 & curso==. * Dad education egen educ_dad=max(P0212N), by(idunico) label var educ_dad "Nivel más alto de educacion del padre" egen curso_dad=max(P0212C), by(idunico) replace educ=educ_dad if dad==1 & educ==. replace curso=curso_dad if dad==1 & curso==. */ * Primary incomplete gen educ_prim_i=1 if no_school==1 | educ==0 | educ==1 | (educ==2 & curso<6 & curso!=.) replace educ_prim_i=0 if educ_prim_i==. & (no_school!=. | educ<=2 & curso<6) label var educ_prim_i "Estudios de primaria incompleta=1" * Primary complete gen educ_prim_c=1 if (educ==2 & curso==6) | educ==3 | (educ==4 & curso<3 & curso!=.) replace educ_prim_c=0 if educ_prim_c==. & (no_school!=. | educ<=2 & curso<6) label var educ_prim_c "Estudios de primaria completa=1" *Secondary or more complete gen educ_sec_c=1 if (educ==4 & curso>=3 & curso!=.) | educ==5 | educ==6 replace educ_sec_c=0 if educ_sec_c==. & (no_school!=. | educ<=2 & curso<6) label var educ_sec_c "Estudios de secundaria completa=1" *Employment and Income gen work=(P0401==1 | P0401==2) replace work=. if P0401==. label var work "Trabajo la semana pasada=1" gen inc_lab=P0407*P0409 egen inc_lab_h=total(inc_lab), by(idunico) missing gen inc_lab_m= inc_lab_h/12 label var inc_lab_m "Ingreso laboral mensual del hogar (Quetzales)" keep vivi personid idunico communityid hogar idpersona name last_name *ID male age bday mom dad relation hh_head spouse_hh married weight indigenous read write educ* dad_house mom_house work inc* sort idunico save "$bl_processed/demographics.dta", replace //9633 people, 1637 households *Household Composition egen size=count(personid), by(idunico) lab var size "Numero de miembros en el hogar" *Number males 0-5 gen males0_5=1 if age <=5 & age!=. & male==1 replace males0_5=0 if males0_5==. & age!=. egen tot_males0_5=total(males0_5), by(idunico) *Number males 6-18 gen males6_18=1 if age>5 & age<=18 & age!=. & male==1 replace males6_18=0 if males6_18==. & age!=. egen tot_males6_18=total(males6_18), by(idunico) *Number males 19-49 gen males19_49=1 if age>18 & age<=49 & age!=. & male==1 replace males19_49=0 if males19_49==. & age!=. egen tot_males19_49=total(males19_49), by(idunico) *Number males 50+ gen males50=1 if age>50 & age!=. & male==1 replace males50=0 if males50==. & age!=. egen tot_males50=total(males50), by(idunico) *Number females 0-5 gen females0_5=1 if age <=5 & age!=. & male==0 replace females0_5=0 if females0_5==. & age!=. egen tot_females0_5=total(females0_5), by(idunico) *Number females 6-18 gen females6_18=1 if age>5 & age<=18 & age!=. & male==0 replace females6_18=0 if females6_18==. & age!=. egen tot_females6_18=total(females6_18), by(idunico) *Number females 19-49 gen females19_49=1 if age>18 & age<=49 & age!=. & male==0 replace females19_49=0 if females19_49==. & age!=. egen tot_females19_49=total(females19_49), by(idunico) *Number females 50+ gen females50=1 if age>50 & age!=. & male==0 replace females50=0 if females50==. & age!=. egen tot_females50=total(females50), by(idunico) collapse inc_lab_m size tot* , by(idunico) lab var size "Numero de miembros" gen prop_males0_5=tot_males0_5/size lab var prop_males0_5 "Proporcion de hombres entre 0 y 5 años" gen prop_males6_18=tot_males6_18/size lab var prop_males6_18 "Proporcion de hombres entre 6 y 18 años" gen prop_males19_49=tot_males19_49/size lab var prop_males19_49 "Proporcion de hombres entre 19 y 49 años" gen prop_males50=tot_males50/size lab var prop_males50 "Proporcion de hombres mayor de 50 años" gen prop_females0_5=tot_females0_5/size lab var prop_females0_5 "Proporcion de mujeres entre 0 y 5 años" gen prop_females6_18=tot_females6_18/size lab var prop_females6_18 "Proporcion de mujeres entre 6 y 18 años" gen prop_females19_49=tot_females19_49/size lab var prop_females19_49 "Proporcion de mujeres entre 19 y 49 años" gen prop_females50=tot_females50/size lab var prop_females50 "Proporcion de mujeres mayor de 50 años" save "$bl_processed/household_composition.dta", replace ** HOUSEHOLD CHARACTERISTICS ** use "${bl_raw}/S00Val.dta", clear merge m:1 idunico using "${bl_raw}/20190125_SPOON_GUATEMALA_ALEATORIZACION.dta", nogen keepusing(tratamiento* T1 T2 Control comunidad_elegible id_comunidad) merge 1:1 idunico using "$bl_processed/household_composition.dta" * Municipality gen municipality=P0001 gen munID=P0001 global vars $vars municipality munID * Community gen community=P0002 gen communityID=P0002A global vars $vars community* * Sector gen sector=P0003 gen sectorID=P0003A global vars $vars sector* * Coordinates gen y_coord= (P0004G + (P0004M/60) + (P0004S/3600)) gen x_coord= - (P0005G + (P0005M/60) + (P0005S/3600)) global vars $vars *_coord * Elevation gen elevation=P0006 global vars $vars elevation * Population gen population=P020 label val population P020 global vars $vars population *Pregnant gen pregnant=(population==2) tab pregnant label var pregnant "Embarazada=1" globa vars $vars pregnant * Expected due date gen double month=p021 tostring p022, gen(year) gen year_new="20" + year if p022!=. destring year_new, replace gen due_date=mdy(month, 1, year_new) format due_date %td * Interview date gen interview_date=P001401 format interview_date %td gen age_imputed=interview_date - due_date gen age_utero=round(age_imputed/(365/12)) replace age_utero=0 if age_utero ==1 // 12 with interview in october, due date in october, not born yet /* 3 where the year should probably be 2019? idunico 2420031 5260061 5670131 */ replace due_date=due_date + 365 if age_utero>0 & age_utero!=. replace age_utero=round((interview_date - due_date)/(365/12)) if age_utero>0 & age_utero!=. tab age_utero global vars $vars due_date interview_date age_utero * Type of House gen house_type = P0101 recode house_type (2=5) (4=5) copydesc P0101 house_type tab house_type, gen(house_type) global vars $vars house_type* * Type of Residence gen residence = P0102 recode residence (2=1) copydesc P0102 residence tab residence, gen(residence_) lab var residence_1 "Propia" global vars $vars residence* *Number of rooms gen num_rooms=P0105 replace num_rooms=. if P0105==. label var num_rooms "Number of rooms" global vars $vars num_rooms *Number of bedrooms gen num_bedrooms=P0106 replace num_bedrooms=. if P0106==. label var num_bedrooms "Number of bedrooms" global vars $vars num_bedrooms * Wall materials gen walls = P0108 recode walls (4=66) copydesc P0108 walls tab walls, gen(walls_) global vars $vars walls* * Roof materials gen roof = P0109 recode roof (1=66) (3=66) (5=66) (6=66) copydesc P0109 roof tab roof, gen(roof_) global vars $vars roof* * Floor materials gen floor = P0110 recode floor (3=66) copydesc P0110 floor tab floor, gen(floor_) global vars $vars floor* * Sanitation Infrastructure gen sanitation = P0111 copydesc P0111 sanitation tab sanitation, gen(sanitation_) lab var sanitation_4 "No tiene" global vars $vars sanitation* * Bathroom Use gen bath_use=P0112 copydesc P0112 bath_use tab bath_use, gen(bath_use_) global vars $vars bath_use* * Lighting gen lighting=P0113 recode lighting (2=66) (3=66) (4=66) (5=66) (8=66) copydesc P0113 lighting tab lighting, gen(lighting_) lab var lighting_4 "Otro" global vars $vars lighting* * Kitchen fuels gen fuel=P0114A copydesc P0114A fuel tab fuel, gen(fuel_) global vars $vars fuel* * Trash disposal gen trash=P0115 recode trash (2=66) (3=66) (4=66) (8=66) copydesc P0115 trash tab trash, gen(trash_) global vars $vars trash* * Water source gen water=P0116 recode water (4=66) (6=66) (7=66) copydesc P0116 water tab water, gen (water_) lab var water_6 "Otro" global vars $vars water* * Water treatment gen water_treat=P0117 recode water_treat (5=66) copydesc P0117 water_treat tab water_treat, gen(water_treat_) lab var water_treat_5 "Otro" global vars $vars water_treat* * Update var labels to remove everything before "==" findname, varlabeltext(*==*) labvarch `r(varlist)', after(==) * Assets lab def lab_yesno 0 "No" 1 "Si" local i=1 foreach x in tv cable radio homephone cellphone stove fridge washer ac{ gen `x'=(P01180`i'==1) replace `x'=. if P01180`i'==. local lbl: variable label P01180`i' lab var `x' `"`lbl'=1"' lab val `x' lab_yesno global vars $vars `x' local i=`i'+1 } lab var tv "Televisor=1" local i=0 foreach x in sewing_machine computer car boat motorcycle bicycle electricity{ gen `x'=(P01181`i'==1) replace `x'=. if P01181`i'==. local lbl: variable label P01181`i' lab var `x' `"`lbl'=1"' lab val `x' lab_yesno global vars $vars `x' local i=`i'+1 } * Farm assets *Farmland gen land=(P0119==1) replace land=. if P0119==. label var land "Tiene tierra para trabajar=1" global vars $vars land *Value of farmland gen land_val=P0122 label var land_val "Valor del terreno (Quetzales)" global vars $vars land_val *Business gen business=(P0124==1) replace business=. if P0124==. label var business "Tiene negocio propio=1" global vars $vars business * Wealth Index pca residence_* walls_* roof_* floor_* sanitation_* lighting_* fuel_* trash_* water_* tv cable radio homephone /// cellphone stove fridge washer ac sewing_machine computer car boat motorcycle bicycle electricity, mineigen(1.0) means predict wealth, score sum wealth label var wealth "Indice de Riqueza" global vars $vars wealth *Non Labor Income (from programs/social services/etc) local i=1 foreach x in food_assistance CCT fertilizer scholarship seeds forest_incentive other{ gen `x'=P01260`i'*P01270`i' local i=`i'+1 } egen rent_inc=rowtotal(P0129A P0129B P0129C), missing global vars $vars rent_inc gen money_orders=P0131*P0132 global vars $vars money_orders egen inc_nonlab=rowtotal(food_assistance CCT fertilizer scholarship seeds forest_incentive other money_orders), missing gen inc_nonlab_m=inc_nonlab/12 replace inc_nonlab_m = inc_nonlab_m + rent_inc if rent_inc!=. replace inc_nonlab_m=rent_inc if rent_inc!=. & inc_nonlab_m==. label var inc_nonlab_m "Ingreso no laboral mensual del hogar (Quetzales)" global vars $vars inc_nonlab_m *Expenses gen expenses=P0133 label var expenses "Gastos menusales del hogar (Quetzales)" global vars $vars expenses *Total Income egen inc_h=rowtotal(inc_lab_m inc_nonlab_m), missing lab var inc_h "Ingreso mensual del hogar (Quetzales)" keep vivi hogar idunico $vars tratamiento* T1 T2 Control comunidad_elegible id_comunidad inc* size tot* prop* municipality community save "$bl_processed/household.dta", replace //1637 households ** FEEDING PRACTICES ** use "${bl_raw}/S06Val.dta", clear *Correct wrong IDs //save original id gen double personid_original=personid gen double idunico_original=idunico gen momid=P06B label var momid "ID of the mother" gen mom_name=P06A gen childid=P06E label var childid "ID of the child" gen child_name=P06D gen target_child=1 gen target_quant=ninos gen agemonths=P06F label var agemonths "Edad (meses)" //mom and child IDs (P06B & P06E) are off by one replace momid=2 if personid_original==6126104 replace childid=3 if personid_original==6126104 replace personid=6126103 if personid_original==6126104 //mom and child IDs are good, but personid doesn't match replace personid=100090103 if personid_original==100090105 //person id, idunico, and mom id are wrong; update replace personid=530005108 if personid_original==530005208 replace idunico=5300051 if personid_original==530005208 replace momid=7 if personid_original==530005208 replace momid=2 if personid==127008103 replace momid=2 if personid==517007106 replace momid=2 if personid==523003108 replace momid=3 if personid==526002108 replace momid=1 if personid==626004106 replace momid=2 if personid==637003105 replace momid=2 if personid==512014104 tostring idunico, gen(idunico_string) gen idpersona_string=string(momid,"%02.0f") gen mom_personid=idunico_string + idpersona_string destring mom_personid, replace // 10 children with the wrong personid (mother's is listed) replace personid=117001104 if personid_original==117001102 replace personid=130006104 if personid_original==130006102 replace childid=4 if personid_original==130006102 replace personid=231006103 if personid_original==231006102 replace personid=334014105 if personid_original==334014102 replace personid=503001104 if personid_original==503001102 replace personid=503002105 if personid_original==503002102 replace personid=503005109 if personid_original==503005102 replace personid=503007107 if personid_original==503007102 replace personid=503014108 if personid_original==503014102 replace personid=503016105 if personid_original==503016102 count if personid==mom_personid // only 197 children > 6 months at baseline * First feeding within 1 hour of birth gen p1=. replace p1=1 if (P0603==1 | P0603==2) replace p1=0 if p1==. & (P0603!=. | P0603!=.) tab p1 label var p1 "Inicio temprano de la lactancia materna" * Exclusive Breastfeeding (6 months) gen p2a=. replace p2a=1 if P0703==6 replace p2a=0 if p2a==. & P0703!=. tab p2a label var p2a "Lactancia materna exclusiva antes de los 6 meses" gen p2b=. replace p2b=1 if (P0701==2 & agemonths<6) | P0703==6 replace p2b=0 if p2b==. & P0701!=. tab p2b label var p2b "Lactancia materna exclusiva" * Alguna vez le dio pecho gen p3=. replace p3=1 if P0601==1 | (P0601 !=1 & P0602==1) replace p3=0 if p3==. & (P0601!=. | P0602!=.) tab p3 label var p3 "Niños que fueron amamantados alguna vez" * Continued breastfeeding gen p4a=. replace p4a=1 if P0606>=12 & P0606!=. replace p4a=0 if p4a==. & P0606!=. tab p4a label var p4a "Lactancia materna continua al año de vida" gen p4b=. replace p4b=1 if P0606>=24 & P0606!=. replace p4b=0 if p4b==. & P0606!=. tab p4b label var p4b "Lactancia materna continua a los 2 años de vida" * Introduction of solid, semi-solid, and soft foods gen p5=. replace p5=1 if P0706==6 replace p5=0 if p5==. & P0706!=. tab p5 label var p5 "Introducción de alimentos sólidos, semisólidos, o suaves" * Given iron pills/syrup gen p6=. replace p6=1 if P0722==1 replace p6=0 if p6==. & P0722!=. tab p6 label var p6 "Dio pastillas o jarabe de hiero a niño" * Given Vitamin A pills gen p7=. replace p7=1 if P0726==1 replace p7=0 if p7==. & P0726!=. tab p7 label var p7 "Dió perlas de vitamina A a niño" * Given powdered vitamins/minerals gen p8=. replace p8=1 if P0730==1 replace p8=0 if p8==. & P0730!=. tab p8 label var p8 "Dió vitaminas y minerales en polvo a niño" * Given Vitacereal gen p9=. replace p9=1 if P0734==1 replace p9=0 if p9==. & P0734!=. tab p9 label var p9 "Recibió Vitacereal" * Positive verbal stimulation gen p10=. replace p10=1 if P0713==1 & (P071401==1 | P071402==1 | P071403==1 | P071404==1 | P071406==1 | P071407==1) & P071405!=1 & P071466!=1 replace p10=0 if p10==. & P0713!=. tab p10 label var p10 "Estimulación verbal" * Other positive stimulation gen p11=. replace p11=1 if P0715==1 & (P071601==1 | P071602==1 | P071604==1 | P071605==1) & P071603!=1 & P071606!=1 & P071666!=1 replace p11=0 if p11==. & P0715!=. tab p11 label var p11 "Estimulación adicional" * Minimum dietary diversity ** estimate food score gen food_score=0 replace food_score=food_score + 1 if P0718F==1 | P0718E==1 // grains, roots and tubers replace food_score=food_score + 1 if P0718H==1 // legumes and nuts replace food_score=food_score + 1 if P0718N==1 // dairy products (milk, yougurt, cheese, etc.) replace food_score=food_score + 1 if P0718J==1 | P0718K==1 | P0718M==1 //(flesh products) replace food_score=food_score + 1 if P0718L==1 // eggs replace food_score=food_score + 1 if P0718A==1 | P0718B==1 | P0718C==1 //vitamin-A rich fruits and vegetables replace food_score=food_score + 1 if P0718D==1 // other fruits and vegetables replace food_score=. if P0718A==. gen p12a=. //index measure of consumed or didn't, no missing replace p12a=1 if food_score>=4 & food_score!=. replace p12a=0 if p12a==. & food_score!=. tab p12a label var p12a "Diversidad alimentaria minima" gen p12b=. replace p12b=1 if food_score>=5 & food_score!=. replace p12b=0 if p12b==. & food_score!=. tab p12b label var p12b "Diversidad alimentaria minima (puntaje alimentario>=5)" gen p12c=. replace p12c=1 if food_score>=6 & food_score!=. replace p12c=0 if p12c==. & food_score!=. tab p12c label var p12c "Diversidad alimentaria minima(puntaje alimentario>=6)" gen p12d=. replace p12d=1 if food_score>=7 & food_score!=. replace p12d=0 if p12d==. & food_score!=. tab p12d label var p12d "Diversidad alimentaria minima (puntaje alimentario>=7)" * Consumption of iron-rich or iron-fortified foods gen p13=. replace p13=1 if (P0718J==1 | P0718K==1 | P0718M==1 | P0722==1 | P0730==1 | P0734==1 ) replace p13=0 if p13==. & P0718J!=. tab p13 label var p13 "Consumo de alimentos ricos en hierro o fortificados con hierro" * Not bottlefed (reverse coded) gen p14=. replace p14=1 if P0705 ==2 replace p14=0 if p14==. & P0705!=. *reverse code for not bottlefed gen temp_p14=0 if p14==1 replace temp_p14=1 if p14==0 drop p14 rename temp_p14 p14 tab p14 label var p14 "Alimentación sin biberón " * 15. Duration of breastfeeding (in months) gen p15=. replace p15= P0606 if P0606!=. replace p15=0 if p15==. & P0606!=. tab p15 label var p15 "Duración de la lactancia materna (meses)" /* *Overall Practice gen i_practice = (p1 + p3 + p12a + p12b + p12c + p12d + p13)/7 label var i_practice "Practice Index" *Limited Practice gen i_practice_lim = (p12a + p12b + p12c + p12d + p13)/5 label var i_practice_lim "Limited Practice Index" */ /* 6 people have the wrong idunico, but they are fixed with merge: idunico personid 1020131 102020103 1280011 128025105 2410051 241015103 2410071 241016105 2410121 241017108 2810041 281022105 */ keep personid idunico momid mom_personid mom_name childid child_name vivi hogares ninos p1-p15 food_score target* agemonths save "$bl_processed/practice.dta", replace ** CONOCIMIENTO ** use "${bl_raw}/S10Val.dta", clear *Correct wrong person ids -- should match the idunico /* idunico personid 1280251 128001102 3590071 359007203 6320111 632011208 6530121 653012204 */ gen double personid_original=personid replace personid=128025102 if personid_original==128001102 replace personid=359007103 if personid_original==359007203 replace personid=632011108 if personid_original==632011208 replace personid=653012104 if personid_original==653012204 * Questions and responses -- for tables in paper * Q1 gen q1=P1001 recode q1 (98=66) copydesc P1001 q1 tab q1, gen(q1_) lab var q1_6 "Otra/no sabe" * Q2 gen q2=. lab var q2 "Porque la leche materna" gen q2_1 =1 if P100201==1 replace q2_1=0 if q2_1==. & P100201!=. lab var q2_1 "Proteger al niño de las enfermedades" gen q2_2 =1 if P100202==1 replace q2_2=0 if q2_2==. & P100202!=. _crcslbl q2_2 P100202 gen q2_3 =1 if P100203==1 replace q2_3=0 if q2_3==. & P100203!=. _crcslbl q2_3 P100203 gen q2_4 =1 if P100210==1 replace q2_4=0 if q2_4==. & P100210!=. _crcslbl q2_4 P100210 gen q2_5 =1 if P100204==1 | P100205==1 | P100206==1 | P100207==1 | P100208==1 | P100209==1 | P100266==1 replace q2_5=0 if q2_5==. & P100204!=. lab var q2_5 "Otra" * Q3 gen q3=P1003 recode q3 (98=66) copydesc P1003 q3 tab q3, gen(q3_) lab var q3_5 "Otro/no sabe" lab var q3 "Frecuencia de la lactancia materna" * Q4 gen q4=P1004 recode q4 (99=66) (98=66) copydesc P1004 q4 tab q4, gen(q4_) lab var q4 "Cuando es aceptable darle liquidos a un bebe menos de 6 meses" lab var q4_5 "Otro/no sabe/no responde" * Q5 gen q5=P1005 copydesc P1005 q5 tab q5, gen(q5_) lab var q5 "Puede continuar dando pecho cuando una madre esta enferma" * Q6 gen q6=P1006 copydesc P1006 q6 tab q6, gen(q6_) lab var q6 "Es posible continuar la lactancia materna si la madre estudia/trabaja" * Q7 gen q7=. label var q7 "Estrategias para mantener la lactancia si la madre estudia o trabaja" local i=1 foreach x in q7_1 q7_2 q7_3{ gen `x'=1 if P10070`i'==1 _crcslbl `x' P10070`i' replace `x'=0 if `x'==. & P10070`i'!=. local i=`i' + 1 } lab var q7_1 "Amamantar a su bebe antes de salir de casa y al regresar nuevamente" gen q7_4=1 if P100704==1 | P100705==1 replace q7_4=0 if q7_4==. & P100704!=. label var q7_4 "Almacenar la leche en la refrigeradora o el congelador" gen q7_5=1 if P100766==1 | P100766==1 replace q7_5=0 if q7_5==. & P100766!=. label var q7_5 "Otro" * Q8 gen q8 =1 if P1013O ==6 replace q8=0 if q8==. & P1013!=. label var q8 "Introduccion de liquidos: 6 meses" *Q9 gen q9 =1 if P1014O ==6 replace q9=0 if q9==. & P1014!=. lab var q9 "Introduccion de comidas: 6 meses" * Q10 gen q10=P1015 recode q10 (99=98) copydesc P1015 q10 tab q10, gen(q10_) lab var q10 "Puede dar comidas a ninos menor de 6 meses si tienen hambre" * Q11 gen q11=P1016 recode q11 (4=98) copydesc P1016 q11 tab q11, gen(q11_) lab var q11_4 "Otro/no sabe" lab var q11 "Consistencia de la comida 6-8 meses" * Q12 gen q12=P1017 recode q12 (98=97) copydesc P1017 q12 tab q12, gen(q12_) lab var q12_4 "Otro/no sabe" lab var q12 "Tecnica para saber la consistencia adecuado 6-8 meses" * Q13 gen q13=P1018 recode q13 (99=98) copydesc P1018 q13 tab q13, gen(q13_) lab var q13_3 "Otro/no sabe/no responde" lab var q13 "Niño entre 6 y 8 meses puede tomar bebidas azucaradas" * Q14 gen q14=P1019 recode q14 (99=98) copydesc P1019 q14 tab q14, gen(q14_) lab var q14_3 "Otro/no sabe/no responde" lab var q14 "No necesita preocuparse sobre la variedad de la comida 6-8 meses" * Q15 gen q15=P1020A recode q15 (99=66) (98=66) copydesc P1020A q15 tab q15, gen(q15_) lab var q15_5 "Otro/no sabe/no responde" lab var q15 "Frecuencia de la comida 6-8 meses" * Q16 gen q16=P1020B recode q16 (99=66) (98=66) copydesc P1020B q16 tab q16, gen(q16_) lab var q16_4 "Otro/no sabe/no responde" lab var q16 "Frecuencia de las refacciones 6-8 meses" * Q17 gen q17=P1021 recode q17 (99=66) (98=66) copydesc P1021 q17 tab q17, gen(q17_) lab var q17_5 "Otro/no sabe/no responde" lab var q17 "Cucharadas por comida" * Q18 gen q18=P1022 copydesc P1022 q18 tab q18, gen(q18_) lab var q18 "Cantidad de comida cuando nino mayor de 6 meses esta enfermo" * Q19 gen q19=P1023 copydesc P1023 q19 tab q19, gen(q19_) lab var q19 "Cantidad de liquidos cuando nino mayor de 6 meses esta enfermo" * Q20 gen q20=P1024 copydesc P1024 q20 tab q20, gen(q20_) lab var q20 "Cantidad de leche materna cuando nino mayor de 6 meses esta enfermo" * Q21 gen q21=P1025 copydesc P1025 q21 tab q21, gen(q21_) lab var q21 "Consistencia de la comida 6-8 meses" * Q22 gen q22=P1026 recode q22 (99=98) copydesc P1026 q22 tab q22, gen(q22_) lab var q22_5 "No sabe/no responde" lab var q22 "Otras caracteristicas de la comida 9-11 meses" * Q23 gen q23=P1027A recode q23 (99=66) (98=66) copydesc P1027A q23 tab q23, gen(q23_) lab var q23_5 "Otro/no sabe/no responde" lab var q23 "Frecuencia de la comida 9-11 meses" * Q24 gen q24=P1027B recode q24 (99=66) (98=66) copydesc P1027B q24 tab q24, gen(q24_) lab var q24_4 "Otro/no sabe/no responde" lab var q24 "Frecuencia de las refacciones 9-11 meses" * Q25 gen q25=P1028 copydesc P1028 q25 tab q25, gen(q25_) lab var q25 "Cucharadas por comida 9-11 meses" * Q26 gen q26=. lab var q26 "Es recomendable darle a los niños de 9 a 11 meses" gen q26_1 =1 if P102901==1 replace q26_1=0 if q26_1==. & P102901!=. label var q26_1 "Leche materna: si" gen q26_2 =1 if P102902==1 replace q26_2=0 if q26_2==. & P102902!=. label var q26_2 "Frijoles machados: si" gen q26_3 =1 if P102903==1 replace q26_3=0 if q26_3==. & P102903!=. label var q26_3 "Pollo con vegetales: si" gen q26_4 =1 if P102904==2 replace q26_4=0 if q26_4==. & P102904!=. label var q26_4 "Alimentos fritos: no" * Q27 gen q27=P1030 recode q27 (99=3) (98=3) copydesc P1030 q27 tab q27, gen(q27_) lab var q27_3 "Otro/no sabe/no responde" lab var q27 "Debe recibir la leche materna despues de los 12 meses" * Q28 gen q28 =. replace q28 =1 if P1031O==24 replace q28=0 if q28==. & P1031!=. label var q28 "Hasta que edad se debe seguir dando leche materna a un niño: 24 meses" * Q29 gen q29=P1032 recode q29 (2=98) copydesc P1032 q29 tab q29, gen(q29_) lab var q29_4 "Otro/no sabe" lab var q29 "Consistencia de la comida 12-24 meses" * Q30 gen q30=P1033A recode q30 (99=66) (98=66) copydesc P1033A q30 tab q30, gen(q30_) lab var q30_5 "Otro/no sabe/no responde" lab var q30 "Frecuencia de la comida 12-24 meses" * Q31 gen q31=P1033B recode q31 (99=66) (98=66) copydesc P1033B q31 tab q31, gen(q31_) lab var q31_4 "Otro/no sabe/no responde" lab var q31 "Frecuencia de la comida 12-24 meses" * Q32 gen q32=P1034 recode q32 (98=66) copydesc P1034 q32 tab q32, gen(q32_) lab var q32_5 "Otro/no sabe/no responde" lab var q32 "Cucharadas por comida 12-24 meses" * Q33 gen q33=. lab var q33 "Practicas utilizadas al momento de alimentar el nino" gen q33_1 =1 if P103501==1 replace q33_1=0 if q33_1==. & P103501!=. lab var q33_1 "Lo alimento con carino" gen q33_2 =1 if P103502==1 replace q33_2=0 if q33_2==. & P103502!=. _crcslbl q33_2 P103502 gen q33_3 =1 if P103503==1 replace q33_3=0 if q33_3==. & P103503!=. _crcslbl q33_3 P103503 gen q33_4 =1 if P103504==1 replace q33_4=0 if q33_4==. & P103504!=. _crcslbl q33_4 P103504 gen q33_5 =1 if P103506==1 replace q33_5=0 if q33_5==. & P103506!=. _crcslbl q33_5 P103506 gen q33_6 =1 if P103505==1 | P103507==1 | P103508==1 | P103509==1 | P103566==1 replace q33_6=0 if q33_6==. & P103505!=. label var q33_6 "Otra" *Right Answers gen c1 =1 if P1001 ==3 replace c1=0 if c1==. & P1001!=. tab c1 label var c1 "Duracion de la lactancia materna exclusiva: 6 meses" local i=1 foreach x in c2_1 c2_2 c2_3 c2_4 c2_5 c2_6 c2_7 c2_8 c2_9 { gen `x'=(P10020`i'==1) replace `x'=. if P10020`i'==. local lbl: variable label P10020`i' lab var `x' `"Porque la leche materna: `lbl'"' local i=`i'+1 } lab var c2_1 "Porque la leche materna: protegar al niño de las enfermedades" gen c2_10=(P100210==1) replace c2_10=. if P100210==. lab var c2_10 "Porque la leche materna: Por consejo medico" gen c2_index= (c2_1 + c2_2 + c2_3 + c2_6 + c2_7 + c2_8 + c2_10)/7 *hist c2_index, scheme(538w) gen c3 =1 if P1003 ==1 replace c3=0 if c3==. & P1003!=. label var c3 "Frecuencia de la lactancia materna para un nino menor de 6 meses: cuando quiera" gen c4 =1 if P1004==4 replace c4=0 if c4==. & P1004!=. label var c4 "Liquidos antes de 6 meses: nunca" gen c5 =1 if P1005==1 replace c5=0 if c5==. & P1005!=. label var c5 "Continuar la lactancia materna cuando esta enferma: si" gen c6 =1 if P1006==1 replace c6=0 if c6==. & P1006!=. label var c6 "Continuar la lactancia materna si esta trabajando o estudiando: si" local i=1 foreach x in c7_1 c7_2 c7_3 c7_4 c7_5 { gen `x'=(P10070`i'==1) replace `x'=. if P10070`i'==. local lbl: variable label P10070`i' lab var `x' `"Si la madre trabaja: `lbl'"' local i=`i'+1 } lab var c7_1 "Si la madre trabaja: amamantar antes de salir y al regresar" gen c7_index= (c7_1 + c7_2 + c7_3 + c7_4 + c7_5)/5 *hist c7_index, scheme(538w) gen c8 = q8 _crcslbl c8 q8 gen c9 =q9 _crcslbl c9 q9 gen c10 =1 if P1015 ==2 replace c10=0 if c10==. & P1015!=. label var c10 "Puede dar comida a ninos menores de 6 meses si tienen hambre: falso" gen c11 =1 if P1016 ==1 replace c11=0 if c11==. & P1016!=. label var c11 "Consistencia de la comida 6-8 meses: papilla espesa/machada" gen c12 =1 if P1017==2 replace c12=0 if c12==. & P1017!=. label var c12 "Tecnica para saber la consistencia adecuado 6-8 meses: no resbala facilmente de la cuchara" gen c13 =1 if P1018==2 replace c13=0 if c13==. & P1018!=. label var c13 "Nino 6-8 meses puede tomar bebidas azucaradas: falso" gen c14 =1 if P1019 ==2 replace c14=0 if c14==. & P1019!=. label var c14 "No necesita preocuparse sobre la variedad de la comida 6-8 meses: falso" gen c15 =1 if P1020A==2 replace c15=0 if c15==. & P1020A!=. label var c15 "Frecuencia de la comida 6-8 meses: 2-3" gen c16 =1 if P1020B ==1 replace c16=0 if c16==. & P1020B!=. label var c16 "Frecuencia de las refacciones 6-8 meses: 1-2" gen c17 =1 if P1021==2 replace c17=0 if c17==. & P1021!=. label var c17 "Cucharadas por comida: 2-3" gen c18 =1 if P1022==2 replace c18=0 if c18==. & P1022!=. label var c18 "Cantidad de comida cuando nino mayor de 6 meses esta enfermo: mas" gen c19 =1 if P1023==3 replace c19=0 if c19==. & P1023!=. label var c19 "Cantidad de liquidos cuando nino mayor de 6 meses esta enfermo: mas" gen c20=1 if P1024==3 replace c20=0 if c20==. & P1024!=. label var c20 "Cantidad de leche materna cuando nino mayor de 6 meses esta enfermo: mas" gen c21 =1 if P1025==3 replace c21=0 if c21==. & P1025!=. label var c21 "Consistencia de la comida 6-8 meses: trozos pequenos" gen c22=1 if P1026==1 | P1026==3 replace c22=0 if c22==. & P1026!=. label var c22 "Otras caracteristicas de la comida 9-11 meses: alimentos faciles de agarrar o en trozos pequeños" gen c23 =1 if P1027A ==3 replace c23=0 if c23==. & P1027A!=. label var c23 "Frecuencia de la comida 9-11 meses: 3-4" gen c24=1 if P1027B==1 replace c24=0 if c24==. & P1027B!=. label var c24 "Frecuencia de las refacciones 9-11 meses: 1-2" gen c25 =1 if P1028==3 replace c25=0 if c25==. & P1028!=. label var c25 "Cucharadas por comida 9-11 meses: 6-7" local i=1 foreach x in c26_1 c26_2 c26_3 c26_4 { gen `x'=(P10290`i'==1) replace `x'=. if P10290`i'==. local lbl: variable label P10290`i' lab var `x' `"Alimentos recomendados 9-11 meses: `lbl'"' local i=`i'+1 } lab var c26_1 "Alimentos recomendados 9-11 meses: Leche materna" gen c26_index= (c26_1 + c26_2 + c26_3)/3 *hist c26_index, scheme(538w) gen c27 =1 if P1030==1 replace c27=0 if c27==. & P1030!=. label var c27 "Debe recibir la leche materna despues de los 12 meses: si" gen c28 =1 if P1031O==24 replace c28=0 if c28==. & P1031!=. label var c28 "Duracion de la lactancia materna: 24 meses" gen c29 =1 if P1032==4 replace c29=0 if c29==. & P1032!=. label var c29 "Consitencia de la comida 12-24 meses: trozos" gen c30=1 if P1033A==3 replace c30=0 if c30==. & P1033A!=. label var c30 "Frecuencia de la comida 12-24 meses: 3-4" gen c31 =1 if P1033B==1 replace c31=0 if c31==. & P1033B!=. label var c31 "Frecuencia de las refacciones 12-24 meses: 1-2" gen c32 =1 if P1034==4 | P1034==66 replace c32=0 if c32==. & P1034!=. label var c32 "Cucharadas por comida 12-24 meses: 8-9 u Otro" local i=1 foreach x in c33_1 c33_2 c33_3 c33_4 c33_5 c33_6 c33_7 c33_8 c33_9 { gen `x'=(P10350`i'==1) replace `x'=. if P10350`i'==. local lbl: variable label P10350`i' lab var `x' `"Practicas de alimentación: `lbl'"' local i=`i'+1 } lab var c33_1 "Practicas de alimentacion: lo alimenta con cariño" gen c33_index= (c33_1 + c33_2 + c33_3 + c33_4 + c33_5 + c33_6 + c33_7 + c33_8 + c33_9)/9 *hist c33_index, scheme(538w) *Knowledge Index egen conocimiento_tot=rowtotal(c1 c2_1 c2_2 c2_3 c2_6 c2_7 c2_8 c2_10 c3-c7_5 c8-c26_3 c27-c33_9), missing gen conocimiento=conocimiento_tot/53 lab var conocimiento "Indice de Conocimiento" * Update var labels to remove everything before "==" findname, varlabeltext(*==*) labvarch `r(varlist)', after(==) keep idunico personid q1-q33_6 c1-c33_index conocimiento save "$bl_processed/knowledge.dta", replace ** OBSERVATIONS/DECISION/GRIT/ROSENBERG ** use "${bl_raw}/S11Val.dta", clear merge m:1 idunico using "${bl_raw}/20190125_SPOON_GUATEMALA_ALEATORIZACION.dta", nogen keepusing(tratamiento* T1 T2 Control comunidad_elegible id_comunidad) gen double idpersona=P1100B gen id=string(idpersona,"%02.0f") gen idunico_string=string(idunico) order idunico idunico_string idpersona id gen personid=idunico_string + id order personid idunico idunico_string idpersona id destring(personid), replace gen name_obs=P1100A * Observations local i=1 foreach x in o1 o2 o3 o4 o5 o6_1 o7_1 o8_1 o9{ gen `x'=(P150`i'==1) replace `x'=. if P150`i'==. | P150`i'==3 _crcslbl `x' P150`i' local i=`i'+1 } lab var o1 "Observo aguas servidas/negras dentro del terreno" local i=6 foreach x in o6_2 o7_2 o8_2{ gen `x'=(P150`i'A==1) replace `x'=. if P150`i'A==. | P150`i'A==3 _crcslbl `x' P150`i' local i=`i'+1 } local i=10 foreach x in o10 o11 o12{ gen `x'=(P15`i'==1) replace `x'=. if P15`i'==. | P15`i'==3 _crcslbl `x' P15`i' local i=`i'+1 } ** Decisions local i=1 foreach x in d1 d2 d3 d4 d5 d6 d7 d8 d9{ gen `x'=(P110`i'==1) replace `x'=. if P110`i'==. local lbl: variable label P110`i' lab var `x' `"`lbl': madre"' local i=`i'+1 } lab var d1 "La comida que se come en la casa: madre" local i=10 foreach x in d10 d11 d12 d13 d14 d15 d16{ gen `x'=(P11`i'==1) replace `x'=. if P11`i'==. local lbl: variable label P11`i' lab var `x' `"`lbl': madre"' local i=`i'+1 } egen dec_total=rowtotal(d1-d16), missing gen decisiones=dec_total/16 lab var decisiones "Indice de Empoderamiento" ** GRIT local i=1 foreach x in g1 g2 g3 g4 g5 g6 g7 g8 g9{ gen `x'=P120`i' copydesc P120`i' `x' tab `x', gen(`x'_) local i=`i' +1 } lab var g1 "Me propongo ser la mejor del mundo en las cosas que hago" local i=10 foreach x in g10 g11 g12 g13{ gen `x'=P12`i' copydesc P12`i' `x' tab `x', gen(`x'_) local i=`i' +1 } egen grit_total=rowtotal(g1 g2 g3 g4 g5 g6 g7 g8 g9 g10 g11 g12 g13), missing gen grit=grit_total/13 lab var grit "Grit Score" ** ROSENBURG local i=1 foreach x in r1 r2 r3 r4 r5 r6 r7 r8 r9{ gen `x'=P130`i' copydesc P130`i' `x' tab `x', gen(`x'_) local i=`i' +1 } lab var r1 "En general estoy satisfecha conmigo mismo" gen r10=P1310 copydesc P1310 r10 tab r10, gen(r10_) egen rosenberg=rowtotal(r1 r2 r3 r4 r5 r6 r7 r8 r9 r10), missing lab var rosenberg "Rosenberg Score" * Quartiles for indexes lab define quartile_grit 1 "Grit Q1" 2 "Grit Q2" 3 "Grit Q3" 4 "Grit Q4" lab define quartile_rose 1 "Rosenberg Q1" 2 "Rosenberg Q2" 3 "Rosenberg Q3" 4 "Rosenberg Q4" lab define quartile_dec 1 "Empoderamiento Q1" 2 "Empoderamiento Q2" 3 "Empoderamiento Q3" 4 "Empoderamiento Q4" xtile grit_cat=grit, n(4) lab val grit_cat quartile_grit tab grit_cat, gen(grit_cat) xtile rosenberg_cat=rosenberg, n(4) lab val rosenberg_cat quartile_rose tab rosenberg_cat, gen(rosenberg_cat) xtile decisiones_cat=decisiones, n(4) lab val decisiones_cat quartile_dec tab decisiones_cat, gen(decisiones_cat) * Update var labels to remove everything before "==" findname, varlabeltext(*==*) labvarch `r(varlist)', after(==) ** Checked by name; right person, wrong ID: fix IDs to match "personas" dataset replace personid=6089110 if personid==6089111 replace personid=6125105 if personid==6125103 replace personid=6126102 if personid==6126103 replace personid=36013105 if personid==36013106 replace personid=100037102 if personid==100037104 replace personid=109028105 if personid==109028102 replace personid=128021103 if personid==128021102 replace personid=188010106 if personid==188010107 replace personid=281016107 if personid==281016102 replace personid=411003101 if personid==411003103 replace personid=486063106 if personid==486063102 replace personid=486072103 if personid==486072102 replace personid=512031103 if personid==512031104 replace personid=512050107 if personid==512050102 replace personid=522002105 if personid==522002102 replace personid=531007105 if personid==531007102 replace personid=542015110 if personid==542015104 replace personid=562015102 if personid==562015105 replace personid=601012101 if personid==601012102 replace personid=660002109 if personid==660002102 replace personid=127006107 if personid==127006102 keep personid idunico idpersona name_obs o1-o12 d1-d16 decisiones* g1-g13_5 grit* r1-r10_4 rosenberg* tratamiento* T1 T2 Control comunidad_elegible id_comunidad sort idunico personid merge m:m idunico using "$bl_processed/knowledge.dta", nogen save "$bl_processed/obs-dec-grit-rosenberg-know.dta", replace *************************************************** MERGE DATA FILES ******************************************************************* *MOM DATA SET use "$bl_processed/demographics.dta", clear merge m:1 idunico using "$bl_processed/household.dta", nogen keepusing(T1 T2 Control tratamiento* comunidad_elegible id_comunidad pregnant due_date age_utero inc_h wealth size prop* community municipality interview_date) sort idunico personid order communityid vivi hogar idunico idpersona personid *Figure out prenancy at mother level (not household) egen mom_tot=total(mom), by(idunico) tab mom_tot distinct idunico if mom_tot==2 // 41 households distinct(idunico) if mom_tot==2 & pregnant==1 //11 households with 2 moms and pregnant -- figure out which mom is pregnant *Identify which mom is pregnant among the households with two moms, and marked pregnant at household level: gen mom_preg_h=1 if mom_tot==2 & pregnant==1 gen momID_nopreg=momID if mom_preg_h==1 egen max_momID_nopreg=max(momID_nopreg), by(idunico) gen mom_nopreg=1 if max_momID_nopreg==idpersona & mom_preg_h==1 order idunico personid idpersona age mom mom_nopreg momID preg sort idunico personid gen preg=pregnant if mom==1 & mom_preg_h!=1 replace preg=0 if mom_nopreg==1 replace preg=1 if mom_preg_h==1 & mom==1 & mom_nopreg==. merge 1:1 personid using "$bl_processed/practice.dta", nogen keepusing(target_child) *Households with no target and mom is not preg, assume 0 year old is target: egen target_h=max(target_child), by(idunico) count if age==0 & target_h!=1 & pregnant==0 replace target_child=1 if personid==520002108 replace target_child=1 if personid==525016104 replace target_child=1 if personid==542008104 replace target_h=1 if idunico==5200021 | idunico==5250161 | idunico==5420081 distinct(idunico) if target_h==. & pregnant==0 // 6 households with no target child or pregnant woman identified replace preg=1 if pregnant==0 & target_h==. & mom==1 replace pregnant=1 if pregnant==0 & target_h==. lab var preg "Embarazada=1" lab var pregnant "Mujer embarazada en el hogar=1" replace due_date=. if mom!=1 replace due_date=. if mom_nopreg==1 replace age_utero=. if mom!=1 replace age_utero=. if mom_nopreg==1 ** keep information for whoever answered the knowledge/grit/decision/rosenberg surveys gen mom2=mom replace mom2=1 if personid==566006102 replace preg=pregnant if preg==. & mom2==1 // 1 mom that changes, neither are pregnant so replace keep if mom2==1 distinct(idunico) merge 1:1 personid using "$bl_processed/obs-dec-grit-rosenberg-know.dta", nogen gen double momid=idpersona if mom==1 save "$bl_processed/mom.dta", replace * DAD ** use "$bl_processed/demographics.dta", clear merge m:1 idunico using "$bl_processed/household.dta", nogen keepusing(T1 T2 Control tratamiento* comunidad_elegible id_comunidad) keep if dad==1 save "$bl_processed/dad.dta", replace ** CHILD DATA SET ** use "$bl_processed/demographics.dta", clear sort idunico personid keep vivi hogar idunico personid communityid idpersona name last_name male age bday dad_house mom_house momID merge 1:1 personid using "$bl_processed/practice.dta", nogen merge m:1 idunico using "$bl_processed/household.dta", nogen keepusing(T1 T2 Control tratamiento* comunidad_elegible id_comunidad wealth inc_h size prop* interview_date community municipality) merge 1:1 personid using "$bl_processed/mom.dta", nogen keepusing(mom preg due_date age_utero pregnant) egen target_h=max(target_child), by(idunico) *Households with no target and mom is not preg, assume 0 year old is target: replace target_child=1 if personid==520002108 replace target_child=1 if personid==525016104 replace target_child=1 if personid==542008104 replace momid=momID if momid==. & target_child==1 tostring idunico, gen(idunico_string) gen momid_string=string(momid,"%02.0f") gen mom_personid_ed=idunico_string + momid_string if target_h==. & target_child==1 destring mom_personid_ed, replace replace target_h=1 if idunico==5200021 | idunico==5250161 | idunico==5420081 replace mom_personid=mom_personid_ed if target_child==1 & mom_personid==. distinct idunico if target_h!=1 & pregnant==0 lab var preg "En embarazo=1" keep if target_child==1 | (preg==1 & target_h!=1) distinct idunico //1637 replace male=. if mom==1 drop pregnant due_date replace preg=0 if preg==. rename preg preg_child gen age_child_y=age if target_child==1 replace age_child_y=. if age_child_y>2 drop age merge m:1 idunico momid using "$bl_processed/mom.dta", keepusing(age married work indigenous educ_* preg grit* rosenberg* decisiones*) drop if _merge==2 drop _merge foreach x in age married work educ_prim_c educ_sec_c indigenous preg grit* rosenberg* dec*{ rename `x' `x'_mom } gen age_child=agemonths replace age_child=age_utero if agemonths==. gen age_miss_d=interview_date-bday if age_child==. & mom!=1 gen age_miss_m=floor(age_miss_d/(365/12)) replace age_child=age_miss_m if age_child==. lab var age_child "Edad (meses)-incluyendo embarazos" replace agemonths=age_miss_m if agemonths==. replace mom_personid=personid if mom==1 & mom_personid==. drop mom_personid_ed save "$bl_processed/child.dta", replace distinct mom_personid duplicates tag mom_personid, gen(dupID) egen youngest=min(agemonths), by(idunico) drop if youngest!=agemonths & dupID!=0 drop if agemonths