// Muster-Loesung Hausaufgabe 2 // kohler@wzb.eu // Intro // ----- // Standard Intro version 9.2 clear set more off set scheme s1color // Cool-Ados capture which mkdat if _rc ssc install mkdat capture which soepren if _rc ssc install soepren // 1 Retrival // ---------- mkdat /// ap6801 bp9301 cp9601 dp9801 ep89 fp108 gp109 hp10901 /// ip10901 jp10901 kp10401 lp10401 mp11001 np11701 op12301 /// pp13501 qp14301 rp13501 sp13501 tp14201 up14501 vp154 /// using ../data/, netto(1) keep(gebjahr sex) clear /// files(p) waves(a b c d e f g h i j k l m n o p q r s t u v) lookfor satisfaction soepren `r(varlist)', newstub(lsat) waves(1984(1)2005) keep persnr lsat* gebjahr sex reshape long lsat, i(persnr) j(wave) replace lsat = .a if lsat == -1 // 2 Graphiken // ----------- // Durchschnittliche Lebenszufriedenheit gegen Welle egen lsatbar = mean(lsat), by(wave) graph twoway /// line lsatbar wave, xtitle(Lebenszufriedenheit) ytitle(Jahr) sort // Durchschnittliche Lebenszufriedenheit gegen Welle | Agegroup=1,2,3 gen agegroup = recode(wave-gebjahr,30,60,100) bysort wave agegroup: egen lsatbar_age = mean(lsat) graph twoway /// || line lsatbar_age wave if agegroup == 30, lpattern(solid) /// || line lsatbar_age wave if agegroup == 60, lpattern(dash) /// || line lsatbar_age wave if agegroup == 100, lpattern(dot) /// || , legend(order(1 "16-30" 2 "31-60" 3 ">60") rows(1)) // Lebenszufriedenheit gegen Alter für 10 Personen gen age =wave-gebjahr sort persnr age egen persid = group(persnr) graph twoway /// || line lsat age if persid == 1 /// || line lsat age if persid == 2 /// || line lsat age if persid == 3 /// || line lsat age if persid == 4 /// || line lsat age if persid == 5 /// || line lsat age if persid == 6 /// || line lsat age if persid == 7 /// || line lsat age if persid == 8 /// || line lsat age if persid == 9 /// || line lsat age if persid == 10 /// || , legend(off) ytitle(Lebenszufriedenheit) /// Regressionsgerade LZ gegen Alter für 10 Personen gen lsathat = . forval i = 1/100 { reg lsat age if persid == `i' replace lsathat = _b[_cons] + _b[age]*age if persid == `i' local lines "`lines' || line lsathat age if persid == `i', pstyle(p1)" } graph twoway /// `lines' /// || , legend(off) ytitle(Lebenszufriedenheit (predicted))