* Absolute und relative Häufigkeit von Veränderungen * -------------------------------------------------- clear version 7.0 set more off set memory 80m * +----+ * |Data| * +----+ capture use traeg_3 if welle <=97, clear if _rc == 601 { di as text "Data not found. Try to recover" do crtraeg_3 use traeg_3 if welle <=97, 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-13: Zeitraum: 1984-1999 (13-Jahre) * ------------------------------------ sort persnr welle by persnr: gen pil13 = pi[_n-13] by persnr: gen egpl13 = egp[_n-13] by persnr: gen hbill13 = hbil[_n-13] by persnr: gen ikonsl13 = ikons[_n-13] by persnr: gen ispdl13 = ispd[_n-13] by persnr: gen ib90l13 = ib90[_n-13] * 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 valid13 = pi ~= . & pil13 ~= . & egp ~= . & egpl13 ~= . gen valid1 = pi ~= . & pil1 ~= . & egp ~= . & egpl1 ~= . * Absolute und relative Häufigkeit von Veränderungen * -------------------------------------------------- matrix h13 = 0 matrix h1 = 0 foreach piece in pi egp hbil ikons ispd ib90 { count if `piece' ~= `piece'l13 & valid13 & mark matrix h13 = h13 \ r(N) count if `piece' ~= `piece'l1 & valid1 matrix h1 = h1 \ r(N) } matrix h13 = h13[2...,1] matrix h1 = h1[2...,1] * Ausgabe * ------- count if mark & valid13 local n13 = r(N) count if valid1 local n1 = r(N) matrix f13 = 1/`n13' * h13 matrix f1 = 1/`n1' * h1 matrix h = h13, h1 matrix rownames h = "Parteineigung" "Klasse" "Schulbildung" "CDU-Kontakte" "SPD-Kontakte" "B90-Kontakte" matrix colname h = "1984-99" "$t-1$ bis $t$" matrix f = f13, 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