***Mixed electoral systems and the proportionality-concentration trade-off ***Johannes Raabe, University of Kiel ***Chapter 8 - German states clear all sysuse Dt_laender_ws_daten ********************************************VARIABLEN-GENERIERUNG************************************************************* gen huerde = 1 replace huerde = 0 if huerde_land == 0 & huerde_wahlkreis == 0 gen spline = 0 replace spline = 1 if wahljahr > 1978 gen wahljahr_splined = spline*wahljahr replace pv = 1 if land_id == 0 replace pv1stimme = 1 if land_id == 0 & wahljahr == 1949 replace pv1stimme = 0 if land_id == 0 & wahljahr != 1949 replace pv2stimmen = 1 if land_id == 0 & wahljahr != 1949 replace pv2stimmen = 0 if land_id == 0 & wahljahr == 1949 gen bavaria = 0 replace bavaria = 1 if land_id == 2 gen el_year = wahljahr - 1945 gen el_year_splined = el_year*spline gen erste_wahl = 0 replace erste_wahl = 1 if wahl_nummer == 1 & ost == 0 gen pv1mitUM = 0 replace pv1mitUM = 1 if pv1stimme == 1 & ueberhang_ausgleich == 0 gen pv2mitUM = 0 replace pv2mitUM = 1 if pv2stimmen == 1 & ueberhang_ausgleich == 0 gen pvmitUM = 0 replace pvmitUM = 1 if pv == 1 & ueberhang_ausgleich == 0 ********************************************TEIL 1: DESKRIPTIVER UEBERBLICK**************************************************** **********Zusammenfassende Statistik *Bundesebene sum enpv if land_id == 0 & wahljahr > 1949 sum enps if land_id == 0 & wahljahr > 1949 sum lh if land_id == 0 & wahljahr > 1949 sum gi if land_id == 0 & wahljahr > 1949 sum nltc_min if land_id == 0 & wahljahr > 1949 *Mittelwerte, St.abw., Min und Max der Indizes fuer pv-Systeme sum enpv if pv == 1 & huerde == 1 sum enps if pv2stimmen == 1 & huerde == 1 & land_id != 0 & bavaria == 0 sum lh if pv == 1 & huerde == 1 sum gi if pv2stimmen == 1 & huerde == 1 & land_id != 0 sum nltc_min if pv == 1 & huerde == 1 *Andere Systeme sum enpv if pr == 1 & huerde == 1 sum enps if pr == 1 & huerde == 1 sum lh if pr == 1 & huerde == 1 sum gi if pr == 1 & huerde == 1 sum nltc_min if pr == 1 & huerde == 1 sum enpv if lsm == 1 sum enps if lsm == 1 sum lh if lsm == 1 sum gi if lsm == 1 sum nltc_min if lsm == 1 drop if land_id == 0 **********Scatterplots twoway (scatter enps el_year if pv == 1) (scatter enps el_year if pr == 1) (scatter enps el_year if lsm == 1) twoway (scatter enps el_year if pv1stimme == 1) (scatter enps el_year if pv2stimmen == 1) (scatter enps el_year if pr == 1) (scatter enps el_year if lsm == 1) twoway (scatter enps el_year if pv1stimme == 1) (scatter enps el_year if pv2stimmen == 1) (scatter enps el_year if pr == 1) (scatter enps el_year if lsm == 1) (fpfit enps el_year) twoway (scatter enpv el_year if pv1stimme == 1) (scatter enpv el_year if pv2stimmen == 1) (scatter enpv el_year if pr == 1) (scatter enpv el_year if lsm == 1) twoway (scatter nltc_min el_year if pv1stimme == 1) (scatter nltc_min el_year if pv2stimmen == 1) (scatter nltc_min el_year if pr == 1) (scatter nltc_min el_year if lsm == 1) twoway (scatter gi el_year if pv1stimme == 1) (scatter gi el_year if pv2stimmen == 1) (scatter gi el_year if pr == 1) (scatter gi el_year if lsm == 1) twoway (scatter gi el_year if pv1stimme == 1) (scatter gi el_year if pv2stimmen == 1) (scatter gi el_year if pr == 1) (scatter gi el_year if lsm == 1) (fpfit gi el_year) twoway (scatter enps el_year if pv1stimme == 1 & huerde == 1 & erste_wahl == 0) (scatter enps el_year if pv2stimmen == 1 & huerde == 1 & erste_wahl == 0) (scatter enps el_year if pr == 1 & huerde == 1 & erste_wahl == 0) twoway (fpfit enps el_year if pv1stimme == 1) (fpfit enps el_year if pv2stimmen == 1) (fpfit enps el_year if pr == 1) ***BOBW/WOBW Scatterplot*** pwcorr gi enps, sig twoway (scatter gi enps if pv1stimme == 1) (scatter gi enps if pv2stimmen == 1) (scatter gi enps if pr == 1) (scatter gi enps if lsm == 1) twoway (scatter gi enps if pv1stimme == 1) (scatter gi enps if pv2stimmen == 1) (scatter gi enps if pr == 1) twoway (scatter gi enps if pv1stimme == 1, yline(4.2) xline(2.7)) (scatter gi enps if pv2stimmen == 1) (scatter gi enps if pr == 1) (lfit gi enps) twoway (scatter gi enps if pv1stimme == 1 & ost == 0, yline(4.2) xline(2.7)) (scatter gi enps if pv2stimmen == 1 & ost == 0) (scatter gi enps if pr == 1 & ost == 0) (lfit gi enps if ost == 0) twoway (scatter gi enps if pv1stimme == 1 & wahljahr > 1950) (scatter gi enps if pv2stimmen == 1 & wahljahr > 1950) (scatter gi enps if pr == 1 & wahljahr > 1950) twoway (scatter gi enps if pv1stimme == 1 & wahljahr > 1950 & wahljahr < 1990) (scatter gi enps if pv2stimmen == 1 & wahljahr > 1950 & wahljahr < 1990) (scatter gi enps if pr == 1 & wahljahr > 1950 & wahljahr < 1990) ***BOBW/WOBW System vs. Time Graph*** gen both = (enps + gi)/2 twoway (scatter both el_year if pv1stimme == 1) (scatter both el_year if pv2stimmen == 1) (scatter both el_year if pr == 1) twoway (fpfit both el_year if pv1stimme == 1) (fpfit both el_year if pv2stimmen == 1) (fpfit both el_year if pr == 1) gen bobw = 0 replace bobw = 1 if gi < 4.2 & enps < 2.7 gen wobw = 0 replace wobw = 1 if gi > 4.2 & enps > 2.7 tab pv1stimme bobw if huerde == 1 tab pv1stimme wobw if huerde == 1 tab pv2stimmen bobw if huerde == 1 tab pv2stimmen wobw if huerde == 1 tab pr bobw if huerde == 1 tab pr wobw if huerde == 1 tab pv bobw if huerde == 1 tab pv wobw if huerde == 1 **********Naive t-tests bzw. bivariate Regressionsmodelle *pr vs. pv gen typ = . replace typ = 0 if pr == 1 replace typ = 1 if pv == 1 ttest enps if huerde == 1, by(typ) unpaired unequal ttest enpv if huerde == 1, by(typ) unpaired unequal ttest gi if huerde == 1, by(typ) unpaired unequal ttest lh if huerde == 1, by(typ) unpaired unequal *pv1 vs. pv2 gen pv_typ = . replace pv_typ = 0 if pv1stimme == 1 replace pv_typ = 1 if pv2stimmen == 1 ttest enps if huerde == 1 & ost == 0 & bavaria == 0, by(pv_typ) unpaired unequal ttest enpv if huerde == 1, by(pv_typ) unpaired unequal ttest gi if huerde == 1, by(pv_typ) unpaired unequal ttest lh if huerde == 1, by(pv_typ) unpaired unequal *pv1 vs. pr gen pv1_pr = . replace pv1_pr = 0 if pr == 1 replace pv1_pr = 1 if pv1stimme == 1 ttest enps if huerde == 1, by(pv1_pr) unpaired unequal ttest enpv if huerde == 1, by(pv1_pr) unpaired unequal ttest gi if huerde == 1, by(pv1_pr) unpaired unequal ttest lh if huerde == 1, by(pv1_pr) unpaired unequal *pv2 vs. pr gen pv2_pr = . replace pv2_pr = 0 if pr == 1 replace pv2_pr = 1 if pv2stimmen == 1 ttest enps if huerde == 1, by(pv2_pr) ttest enpv if huerde == 1, by(pv2_pr) ttest gi if huerde == 1, by(pv2_pr) ttest lh if huerde == 1, by(pv2_pr) ********************************************TEIL 2: MULTIVARIATE ANALYSE****************************************************** xtset land_id wahl_nummer **********Pooled PCSE Modelle************* *!*!*!*!*!ENPS xtpcse enps pv lsm, pairwise xtpcse enps pv lsm wahljahr wahljahr_splined spline, pairwise xtpcse enps pv lsm wahljahr wahljahr_splined spline huerde erste_wahl, pairwise xtpcse enps pv lsm wahljahr wahljahr_splined spline huerde erste_wahl ost bavaria, pairwise xi: xtpcse enps pv lsm wahljahr wahljahr_splined spline huerde erste_wahl i.grundmandatsklausel gesamtsitzeaue, pairwise *Trennung von pv-Varianten xtpcse enps pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline, pairwise test pv2stimmen - pv1stimme = 0 xtpcse enps pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline huerde erste_wahl, pairwise test pv2stimmen - pv1stimme = 0 forvalues i = 1(1)16 { reg enpv pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline huerde erste_wahl ost bavaria /// if rein == 1 } gen rein = 0 replace rein = 1 if huerde == 1 | lsm == 1 xtpcse gi pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline erste_wahl ost bavaria /// if rein == 1, corr(psar1) pairwise xi: xtpcse enps pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline huerde erste_wahl i.grundmandatsklausel gesamtsitzeaue, pairwise test pv2stimmen - pv1stimme = 0 *UEberhangmandate xtpcse enps pv pvmitUM lsm, pairwise xtpcse enps pv pvmitUM lsm wahljahr wahljahr_splined spline huerde erste_wahl, pairwise xtpcse enps pv1stimme pv2stimmen pvmitUM lsm wahljahr wahljahr_splined spline huerde erste_wahl gesamtsitzeaue, pairwise *!*!*!*!*!ENPV xtpcse enpv pv lsm, pairwise xtpcse enpv pv lsm wahljahr wahljahr_splined spline, pairwise xtpcse enpv pv lsm wahljahr wahljahr_splined spline huerde erste_wahl, pairwise xtpcse enpv pv lsm wahljahr wahljahr_splined spline huerde erste_wahl ost bavaria, pairwise xi: xtpcse enpv pv lsm wahljahr wahljahr_splined spline huerde erste_wahl i.grundmandatsklausel gesamtsitzeaue, pairwise *Trennung von pv-Varianten xtpcse enpv pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline, pairwise test pv2stimmen - pv1stimme = 0 xtpcse enpv pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline huerde erste_wahl, pairwise test pv2stimmen - pv1stimme = 0 xtpcse enpv pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline huerde erste_wahl ost bavaria, pairwise test pv2stimmen - pv1stimme = 0 xi: xtpcse enpv pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline huerde erste_wahl i.grundmandatsklausel gesamtsitzeaue, pairwise test pv2stimmen - pv1stimme = 0 *UEberhangmandate xtpcse enpv pv pvmitUM lsm, pairwise xtpcse enpv pv pvmitUM lsm wahljahr wahljahr_splined spline huerde erste_wahl, pairwise xtpcse enpv pv1stimme pv2stimmen pvmitUM lsm wahljahr wahljahr_splined spline huerde erste_wahl gesamtsitzeaue, pairwise *!*!*!*!*!LSI xtpcse gi pv lsm, pairwise xtpcse gi pv lsm wahljahr wahljahr_splined spline, pairwise xtpcse gi pv lsm wahljahr wahljahr_splined spline huerde erste_wahl gesamtsitzeaue, pairwise xtpcse gi pv lsm wahljahr wahljahr_splined spline huerde erste_wahl gesamtsitzeaue ost bavaria, pairwise xi: xtpcse gi pv lsm wahljahr wahljahr_splined spline huerde erste_wahl gesamtsitzeaue i.grundmandatsklausel, pairwise *Trennung von pv-Varianten xtpcse gi pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline, pairwise test pv2stimmen - pv1stimme = 0 xtpcse gi pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline huerde erste_wahl gesamtsitzeaue, pairwise test pv2stimmen - pv1stimme = 0 xtpcse gi pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline huerde erste_wahl gesamtsitzeaue ost bavaria, pairwise test pv2stimmen - pv1stimme = 0 xi: xtpcse gi pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline huerde erste_wahl gesamtsitzeaue i.grundmandatsklausel, pairwise test pv2stimmen - pv1stimme = 0 *Ueberhangmandate xtpcse gi pv pvmitUM lsm, pairwise xtpcse gi pv pvmitUM lsm wahljahr wahljahr_splined spline huerde erste_wahl gesamtsitzeaue, pairwise xtpcse gi pv1stimme pv2stimmen pvmitUM lsm wahljahr wahljahr_splined spline huerde erste_wahl gesamtsitzeaue, pairwise **********RE und FE Modelle************* *pv als eine Kategorie xi: xtreg enps pv lsm wahljahr wahljahr_splined spline huerde erste_wahl pvmitUM, fe robust cluster(land_id) xi: xtreg enps pv lsm wahljahr wahljahr_splined spline huerde erste_wahl pvmitUM, re robust cluster(land_id) xi: xtreg enpv pv lsm wahljahr wahljahr_splined spline huerde erste_wahl pvmitUM, fe robust cluster(land_id) xi: xtreg enpv pv lsm wahljahr wahljahr_splined spline huerde erste_wahl pvmitUM, re robust cluster(land_id) xi: xtreg gi pv lsm wahljahr wahljahr_splined spline huerde erste_wahl pvmitUM gesamtsitzeaue, fe robust cluster(land_id) xi: xtreg gi pv lsm wahljahr wahljahr_splined spline huerde erste_wahl pvmitUM gesamtsitzeaue, re robust cluster(land_id) *pv1 und pv2 getrennt xi: xtreg enps pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline huerde erste_wahl pvmitUM, fe robust cluster(land_id) test pv2stimmen - pv1stimme = 0 xi: xtreg enps pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline huerde erste_wahl pvmitUM, re robust cluster(land_id) test pv2stimmen - pv1stimme = 0 xi: xtreg enpv pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline huerde erste_wahl pvmitUM, fe robust cluster(land_id) test pv2stimmen - pv1stimme = 0 xi: xtreg enpv pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline huerde erste_wahl pvmitUM, re robust cluster(land_id) test pv2stimmen - pv1stimme = 0 xi: xtreg gi pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline huerde erste_wahl pvmitUM gesamtsitzeaue, fe robust cluster(land_id) test pv2stimmen - pv1stimme = 0 xi: xtreg gi pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline huerde erste_wahl pvmitUM gesamtsitzeaue, re robust cluster(land_id) test pv2stimmen - pv1stimme = 0 ********************************************TEIL 3: SIMULATION UEBERHANGMANDATE****************************************************** gen anzahl_ue_mand = gesamtsitzea - gesamtsitzeaue gen enps_abnahme = enpsaue - enpsa gen nltc_min_abnahme = nltc_minaue - nltc_mina gen gi_zunahme = gia - giaue gen lh_zunahme = lha - lhaue *A: Alle Wahlen -> Effekt von Nicht-Ausgleich der UE-Mandate sum enpsaue sum enpsa ttest enps_abnahme = 0 *Anteil an Std.abw. von enps di .0287596/.6157336 // = .04670786 sum gia sum giaue ttest gi_zunahme = 0 *Anteil an Std.abw. von gi di .3159753/2.671422 // = .11827982 sum lha sum lhaue ttest lh_zunahme = 0 *Anteil an Std.abw. von lh di .2301677/4.077544 // = .05644763 *B: Nur Wahlen, wo UE-Mandate anfallen -> Was hätte sich substantiell verändert? sum enpsaue if anzahl_ue_mand > 0 sum enpsa if anzahl_ue_mand > 0 ttest enps_abnahme = 0 if anzahl_ue_mand > 0 *Anteil an Std.abw. von enps di .1288192/.6024862 // = .2138127 sum gia if anzahl_ue_mand > 0 sum giaue if anzahl_ue_mand > 0 ttest gi_zunahme = 0 if anzahl_ue_mand > 0 *Anteil an Std.abw. von gi di 1.415306/1.724605 // = .82065516 sum lha if anzahl_ue_mand > 0 sum lhaue if anzahl_ue_mand > 0 ttest lh_zunahme = 0 if anzahl_ue_mand > 0 *Anteil an Std.abw. von lh di 1.03096/3.468189 // = .29726177 ********************************************TEIL 4: BOBW/WOBW ANALYSE*************************************************************** sum enps if pv == 1 | pr == 1, d sum gi if pv == 1 | pr == 1, d gen conc_gut = 0 replace conc_gut = 1 if enps < 2.57 gen prop_gut = 0 replace prop_gut = 1 if gi < 3.69 gen bobw = 0 replace bobw = 1 if prop_gut == 1 & conc_gut == 1 gen wobw = 0 replace wobw = 1 if prop_gut == 0 & conc_gut == 0 estsimp logit bobw pv1stimme pv2stimmen lsm wahljahr wahljahr_splined spline huerde bavaria if ost == 0, robust