* Absolute und relative Häufigkeit von Veränderungen * -------------------------------------------------- clear version 7.0 set more off set memory 80m * +----+ * |Data| * +----+ capture use traeg if _rc == 601 { di as text "Data not found. Try to recover" do crtraeg use traeg, clear } * Imputation der Stimmung im HH fuer Einpersonenhaushalte * -------------------------------------------------------- * (Zur exakten Reproduktion der Ergebnisse muessen die markierten * Zeilen Auskommentiert werden) * Reproduzierbarkeit set seed 731 /* Kommentiere fuer Zufallsergebnisse */ gen long r = _n /* Kommentiere fuer Zufallsergebnisse */ * gen long r = uniform() /* Auskommentiere fuer Zufallsergebnisse */ gen split = kons==. sort pid egp hbil split r by pid egp hbil: gen valid = sum(split == 0) by pid egp hbil: gen ikons = kons[int(uniform()*valid)+1] if kons == . replace ikons = kons if ikons == . drop kons replace split = spd==. sort pid egp hbil split r by pid egp hbil: replace valid = sum(split == 0) by pid egp hbil: gen ispd = spd[int(uniform()*valid)+1] if b90 == . replace ispd = spd if ispd == . drop spd replace split = b90==. sort pid egp hbil split r by pid egp hbil: replace valid = sum(split == 0) by pid egp hbil: gen ib90 = b90[int(uniform()*valid)+1] if b90 == . replace ib90 = b90 if ib90 == . drop b90 * Lag-15: Zeitraum: 1984-1999 (15-Jahre) * ------------------------------------ sort persnr welle by persnr: gen pil15 = pi[_n-15] by persnr: gen egpl15 = egp[_n-15] by persnr: gen hbill15 = hbil[_n-15] by persnr: gen ikonsl15 = ikons[_n-15] by persnr: gen ispdl15 = ispd[_n-15] by persnr: gen ib90l15 = ib90[_n-15] * Lag-1 * ----- sort persnr welle by persnr: gen pil1 = pi[_n-1] by persnr: gen egpl1 = egp[_n-1] by persnr: gen hbill1 = hbil[_n-1] by persnr: gen ikonsl1 = ikons[_n-1] by persnr: gen ispdl1 = ispd[_n-1] by persnr: gen ib90l1 = ib90[_n-1] * Auswahl der Beobachtungen * ------------------------- * Nur CDU,SPD,FDP,B90 (-> Note 1) gen valid15 = pi ~= . & pil15 ~= . & egp ~= . & egpl15 ~= . gen valid1 = pi ~= . & pil1 ~= . & egp ~= . & egpl1 ~= . * Absolute und relative Häufigkeit von Veränderungen * -------------------------------------------------- matrix h15 = 0 matrix h1 = 0 foreach piece in pi egp hbil ikons ispd ib90 { count if `piece' ~= `piece'l15 & valid15 & mark matrix h15 = h15 \ r(N) count if `piece' ~= `piece'l1 & valid1 matrix h1 = h1 \ r(N) } matrix h15 = h15[2...,1] matrix h1 = h1[2...,1] * Ausgabe * ------- count if mark & valid15 local n15 = r(N) count if valid1 local n1 = r(N) matrix f15 = 1/`n15' * h15 matrix f1 = 1/`n1' * h1 matrix h = h15, h1 matrix rownames h = "Parteineigung" "Klasse" "Schulbildung" "CDU-Kontakte" "SPD-Kontakte" "B90-Kontakte" matrix colname h = "1984-99" "$t-1$ bis $t$" matrix f = f15, f1 matrix rownames f = "Parteineigung" "Klasse" "Schulbildung" "CDU-Kontakte" "SPD-Kontakte" "B90-Kontakte" matrix colname f = "1984-99" "$t-1$ bis $t$" quietly { noi di _newline `"absolute H"aufigkeit"' noi matrix list h, noheader noi di _newline `"relative H"aufigkeit"' noi matrix list f, format(%-3.2f) noheader } exit