* Beschreibung der Analysevariablen * --------------------------------- clear version 7.0 set more off set memory 80m * +----+ * |Data| * +----+ capture use traeg, clear if _rc ~= 0 { 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 ~= . * +-----------------+ * |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 & valid15 local N = r(N) matrix h84 = 0 foreach var of varlist pil15 egpl15 hbill15 ikonsl15 ispdl15 ib90l15 olds { tab `var' if mark & valid15, 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 { tab `var' if mark & valid15 , 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 { 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 { 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.