/* sample limitation - Keep only married husband & spouse or never married single; age 25-54 - Drop if spouse is younger than 25 or older than 54 - A part of the data for Kim and Sakamoto (2018, Demography) */ cd "C:\Users\chkim\The University of Kansas\OneDrive - The University of Kansas\Lectures\Soc910_AdvStat\examples" use soc910_data_1.dta, clear * -------- * Recode * -------- numlabel, add gen eqincome = ftotinc/sqrt(famsize) gen lneqincome= ln(eqincome) gen lnpincome = ln(inctot) if incearn>0 gen lnspincome= ln(inctot_sp) gen female=sex==2 gen single=marst==6 gen races=5 replace races=1 if raced==100 & hispan==0 replace races=2 if raced==200 & hispan==0 replace races=4 if raced>=400 & raced<=679 & hispan==0 replace races=3 if hispan != 0 * education gen edu=1 replace edu=2 if educd==63 | educd==64 replace edu=3 if educd>=65 & educd<=100 replace edu=4 if educd==101 replace edu=5 if educd==114 replace edu=6 if educd==115 replace edu=7 if educd==116 * married gen married = marst==1 * spouse education gen edu_sp=1 replace edu_sp=2 if educd_sp==63 | educd_sp==64 replace edu_sp=3 if educd_sp>=65 & educd_sp<=100 replace edu_sp=4 if educd_sp==101 replace edu_sp=5 if educd_sp==114 replace edu_sp=6 if educd_sp==115 replace edu_sp=7 if educd_sp==116 replace edu_sp=0 if married==0 * assortative mating gen assedu=-1 if edu_spedu & marst==1 replace assedu=2 if marst==6 gen marryup=assedu==1 gen marrydown=assedu==-1 gen age2=age*age gen immig=yrimmig!=0 set more off * -------- * regression models with dummy variables * -------- tab edu, gen(edu) reg lneqincome female single i.edu i.races age test 4.edu=5.edu test age test female=single reg lneqincome female single ib2.edu i.races age * -------- * regression models and 2-way interaction * -------- reg lneqincome female single i.edu i.races age reg lneqincome i.female##i.single i.edu i.races age reg lneqincome female single i.edu i.races age if single==0 reg lneqincome female single i.edu i.races age if single==1 reg lneqincome i.female##i.single i.edu##i.single i.races##i.single c.age##i.single gen marrgender = 1 if female==0 & single==0 replace marrgender = 2 if female==1 & single==0 replace marrgender = 3 if female==0 & single==1 replace marrgender = 4 if female==1 & single==1 reg lneqincome i.marrgender i.edu i.races age * -------- * 3-way interaction * -------- reg lneqincome i.female##i.single##i.edu i.races age gen fedu=edu*female foreach i of num 1/7 { gen fedu`i'=fedu==`i' } gen sedu=0 replace sedu=edu if marst==6 foreach i of num 1/7 { gen sedu`i'=sedu==`i' } gen smedu=0 replace smedu=edu if marst==6 & female==0 foreach i of num 1/7 { gen smedu`i'=smedu==`i' } gen swedu=0 replace swedu=edu if marst==6 & female==1 foreach i of num 1/7 { gen swedu`i'=swedu==`i' } gen mwedu=0 replace mwedu=edu if marst==1 & female==1 foreach i of num 1/7 { gen mwedu`i'=mwedu==`i' } reg lneqincome i.edu sedu1-sedu7 swedu1-swedu7 mwedu1-mwedu7 i.races age reg lneqincome i.edu smedu1-smedu7 swedu1-swedu7 mwedu1-mwedu7 i.races age