********************************** * Import data and only keep 1995 * ********************************** clear set memory 1g use "http://biostat.mc.vanderbilt.edu/wiki/pub/Main/CourseBios312/salary.dta" table year keep if year==95 de ************************************************** * Convert stings variables to numeric indicators * ************************************************** * Make a male indicator variable; Female is reference group gen male=. replace male=1 if sex=="M" replace male=0 if sex=="F" table sex male * Make degree indicator variables; PhD is reference group gen degother=. replace degother=1 if deg=="Other" replace degother=0 if deg=="PhD" | deg=="Prof" table degother deg gen degprof=. replace degprof=1 if deg=="Prof" replace degprof=0 if deg=="PhD" | deg=="Other" table degprof deg * Make field indicator variables; Arts is reference group gen fieldother=. replace fieldother=1 if field=="Other" replace fieldother=0 if field=="Arts" | field=="Prof" table fieldother field gen fieldprof=. replace fieldprof=1 if field=="Prof" replace fieldprof=0 if field=="Arts" | field=="Other" table fieldprof field * Make rank indicator variables; Assistant is reference group gen rankassoc=. replace rankassoc=1 if rank=="Assoc" replace rankassoc=0 if rank=="Full" | rank=="Assist" table rankassoc rank gen rankfull=. replace rankfull=1 if rank=="Full" replace rankfull=0 if rank=="Assoc" | rank=="Assist" table rankfull rank * All Two-way interactions between degree and field gen pp = fieldprof*degprof gen po = fieldprof*degother gen op = fieldother*degprof gen oo = fieldother*degother * I will fit models with 2-way interactions between field and degree regress salary male yrdeg startyr fieldprof fieldother degprof degother admin pp po op oo, robust predict fitc gen startsqr = startyr*startyr gen yrdegsqr = yrdeg*yrdeg regress salary male yrdeg yrdegsqr startyr startsqr fieldprof fieldother degprof degother admin pp po op oo, robust predict fitd testparm startsqr yrdegsqr gen startcat = startyr recode startcat 0/65=0 66/75=1 76/85=2 86/96=3 gen yrdegcat = yrdeg recode yrdegcat 0/65=0 66/75=1 76/85=2 86/96=3 xi: regress salary male i.yrdegcat i.startcat fieldprof fieldother degprof degother admin pp po op oo, robust predict fite mkspline start1 65 start2 75 start3 85 start4 = startyr mkspline yrdeg1 65 yrdeg2 75 yrdeg3 85 yrdeg4 = yrdeg regress salary male start1 start2 start3 start4 yrdeg1 yrdeg2 yrdeg3 yrdeg4 fieldprof fieldother degprof degother admin pp po op oo, robust predict fitf gen startbin = startcat gen yrdegbin = yrdegcat recode startbin 0=0 1/3=1 recode yrdegbin 0=0 1/3=1 regress salary male startbin yrdegbin fieldprof fieldother degprof degother admin pp po op oo, robust predict fitg * One (of many) methods to compare the fit scatter fitd fitc scatter fite fitc scatter fitf fitc scatter fitg fitc