* Beschreibung der Analysevariablen * --------------------------------- 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 ~= . * +-----------------+ * |Datenbeschreibung| * +-----------------+ * Zusammenfassung der Stimmung im HH fuer Tabellenausgabe * ------------------------------------------------------- foreach var of varlist ikons* ispd* ib90* { replace `var' = recode(`var',0,.499999,.5,.99999,1) } * Verteilungen der Variablen der Regressionsmodelle * ------------------------------------------------- * Balanced 1984 count if mark & valid13 local N = r(N) matrix h84 = 0 foreach var of varlist pil13 egpl13 hbill13 ikonsl13 ispdl13 ib90l13 olds konf { tab `var' if mark & valid13, mis matcell(`var') assert r(N)==`N' matrix h84 = h84 \ `var' } matrix h84 = h84[2...,1] matrix f84 = 1/`N' * h84 * Balanced 1999 matrix h99 = 0 foreach var of varlist pi egp hbil ikons ispd ib90 olds konf { tab `var' if mark & valid13 , mis matcell(`var') assert r(N)==`N' matrix h99 = h99 \ `var' } matrix h99 = h99[2...,1] matrix f99 = 1/`N' * h99 * Unbalanced t-1 count if valid1 local N = r(N) matrix htl = 0 foreach var of varlist pil1 egpl1 hbill1 ikonsl1 ispdl1 ib90l1 olds konf { tab `var' if valid1, mis matcell(`var') assert r(N)==`N' matrix htl = htl \ `var' } matrix htl = htl[2...,1] matrix ftl = 1/`N' * htl * Unbalanced t matrix ht = 0 foreach var of varlist pi egp hbil ikons ispd ib90 olds konf { tab `var' if valid1 , mis matcell(`var') assert r(N)==`N' matrix ht = ht \ `var' } matrix ht = ht[2...,1] matrix ft = 1/`N' * ht * +-------+ * |Ausgabe| * +-------+ matrix h = h84, h99, htl, ht matrix f = f84, f99, ftl, ft matrix list h, noheader nonames matrix list f, format(%3.2f) noheader nonames exit Notes ----- 1) Nur die soziostrukturellen Ursachen der Präferenz für SPD,CDU,FDP, B90 sind bekannt. Deshalb werden nur diese Personen untersucht. Man könnte "keine Parteiidentifikation" bei den "reinen" Anhängern prinzipiell rekodieren. Dies würde jedoch lediglich stahbile Beobachtungen erzeugen, die nichts zur Analyse beitragen können.