Replikationsmaterial und Ergänzungen

Vorbereitung

Benötigte Pakete

Im ersten Schritt aktivieren wir die später benötigten Pakete mclogit, splines, und magrittr für die R-Sitzung.

library(memisc)
library(mclogit)
library(splines)
library(magrittr)

Daten der GLES

Nach der Aktivitierung der benötigten Pakete leeren wir den Speicher (falls von einer früheren Sitzung noch Daten übrig sind) und laden die bereits in einem früheren Schritt aufbereiteten GLES-Daten. Sie liegen in einem Lang-Format vor, in dem jeder Zeile des Datensatzes einer Kombination von Alternative (Partei) und befragter Person entspricht.

rm(list=ls())
load("gles2013workLong.RData")

Im GLES-Datensatz erzeugen wir eine Reihe von neuen Variablen:

  • JedePartei ist eine Dummy-Variable die für jede Alternative anders als “Keine Parteiidentifikation” den Wert \(1\) annimmt.
  • Katholisch ist eine Dummy-Variable für Befragte mit katholischer Konfession.
gles2013workLong %<>% within({
    JedePartei <- CDU.CSU+SPD+FDP+Grüne+Linke+Andere
    Katholisch <- as.integer(religzugh=="Katholisch")
})

Analysen für Westdeutschland

Teildatensatz für Westdeutschland

Anzahl der Fälle mit valider Parteiidentifikation aus den einzelnen Bundesländern:

xtabs(parneidum~bula12,
       data=within(subset(gles2013workLong,
                          bula12 %in% c(
                                           "Baden-Wuerttemberg",
                                           "Bayern",
                                           "Bremen",
                                           "Hamburg",
                                           "Hessen",
                                           "Niedersachsen",
                                           "Nordrhein-Westfalen",
                                           "Rheinland-Pfalz",
                                           "Saarland",
                                           "Schleswig-Holstein"
                       )),
                       bula12 <- factor(bula12)))
bula12
 Baden-Wuerttemberg              Bayern              Bremen             Hamburg
                217                 343                  19                  34
             Hessen       Niedersachsen Nordrhein-Westfalen     Rheinland-Pfalz
                139                 217                 420                  96
           Saarland  Schleswig-Holstein
                 23                  60

Da wir unsere Analysen auf Westdeutschland einschränken, erzeugen wir einen entsprechenden Teildatensatz.

gles2013workLongWest <- subset(gles2013workLong,
                           ostwest=="West"
                           & Class7a!="Landwirtsch. Beruf"
                           & alter <= 65
                           & bula12 %nin% c("Bremen","Hamburg","Saarland")
                           & bula_geb %in% c(
                                           "Baden-Wuerttemberg",
                                           "Bayern",
                                           #"Bremen",
                                           #"Hamburg",
                                           "Hessen",
                                           "Niedersachsen",
                                           "Nordrhein-Westfalen",
                                           "Rheinland-Pfalz",
                                           #"Saarland",
                                           "Schleswig-Holstein"
                                           )
                           )

Wir stellen sicher, dass die (kategorialen) Faktoren keine “leeren” Faktorstufen haben, in dem wir auf die bereits definierten Faktorvariablen bula_geb, bula12, und Class7a nochmals die Funktion factor() anwenden.

gles2013workLongWest %<>% within({
    bula_geb <- factor(bula_geb)
    bula12 <- factor(bula12)
    Class7a <- factor(Class7a)
})

Konstruktion des Basismodells

Im Folgenden analysieren wir die Parteineigung als Abhängige Variable. Sie ist eine Dummy-Variable, die den Wert 1 annimmt, wenn der/die Befragte der jeweiligen Partei zugeneigt ist bzw. sich mit ihr identifiziert, und 0, wenn der Befragte dies nicht tut. Für jede(n) Befragten ist die Dummy-Variable jeweils nur einmal gleich 1. Das geeignete Modell ist daher das conditional logit Modell. Formal ausgedrückt modellieren wir hierbei die Wahrscheinlichkeit \(\pi_{ij}=\Pr(y_{ij}=1)\), die gegeben ist durch

(1)\[\pi_{ij}=\frac{\exp(\eta_{ij})}{\sum_k\exp(\eta_{ik})},\qquad \eta_{ij}=\sum_h\beta_hx_{hij}.\]

Der Index \(i\) steht hier für das befragte Indiviidum – im Datensatz identifiziert durch die Variable id, während der Index \(j\) für die Alternative (eine Partei oder “keine Partei” für das Fehlen einer Parteineigung) steht – die Alternative ist im Datensatz durch die Variable partei repräsentiert. Die formal mit \(y_{ij}\) bezeichnete abhängige Variable heißt im Datensatz parneidum. Die Werte der \(h\)-ten unabhängigen Variablen für Befragte \(i\) und Alternative \(j\) sind in Gleichung (1) als \(x_{hij}\) ausgedrückt.

Als erstes schätzen wir ein Nullmodell, dass keine substantiellen unabhängigen Variablen enthält, sondern nur Dummy-Variablen für alle Alternativen außer “keine Partei”. Dieses Nullmodell ist mithin äquivalent mit einem multinomialen Logit-Modell ohne unabhängige Variablen. Es ist nichts mehr als der Ausgangspunkt von Likelihood-Ratio-Tests für weitere Effekte, daher werden hier auch nicht die Schätzergebnisse angezeigt.

modWest0 <- mclogit(
    cbind(parneidum,id)~partei,
    data=gles2013workLongWest,
    trace=FALSE,
    subset=Class7a!="Landwirtsch. Beruf"&
        is.finite(parneivadum)&
        is.finite(parneimudum)&
        is.finite(Class7a)&
        is.finite(kirchg)&
        is.finite(Katholisch)&
        is.finite(gewerkschaft)&
        is.finite(bula_geb)
)

Als nächstes erweitern wir das Modell um Dummies für die Parteineigung der Eltern. Die Dummies sind 1 wenn der Vater bzw. die Mutter eine Parteineigung zugunsten der jeweiligen Partei hat(te) und 0 andernfalls. Die Parteineigung des Vaters ist in der Variable parneivadum und die Parteineigung der Mutter in der Variable parneimudum enthalten.

modWest1eltern <- update(modWest0,.~.+parneivadum+parneimudum)
modWest2eltern <- update(modWest1eltern,.~.+parneivadum:parneimudum)
modWest3eltern <- update(modWest2eltern,.~.+partei:parneivadum+partei:parneimudum)

Mit einem Likelihood-Ratio-Test (LR-Test) überprüfen wir die Nullhypothese bezüglich des Einflusses der Parteineigung der Eltern.

(testEltern <- anova(modWest0,
      modWest1eltern,
      modWest2eltern,
      modWest3eltern,
      test="Chisq"))
Analysis of Deviance Table

Model 1: cbind(parneidum, id) ~ partei
Model 2: cbind(parneidum, id) ~ partei + parneivadum + parneimudum
Model 3: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + parneivadum:parneimudum
Model 4: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + parneivadum:parneimudum +
    partei:parneivadum + partei:parneimudum
  Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1      5174     2385.6
2      5172     2145.2  2  240.440  < 2e-16 ***
3      5171     2145.1  1    0.104  0.74689
4      5160     2126.4 11   18.683  0.06703 .
---
codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
format_html(testEltern,digits=c(0,1,0,2,3)) %>%
  gsub(pattern="NA",replacement="",fixed=TRUE) %>%
             cat(file="testEltern-redux.html")

Der LR-Test liefert ein sehr kleinen p-Wert. Der Einfluss der Parteineigung der Eltern ist statistisch signifikant.

Wir erweitern das Modell nun um den Einfluss der Konfession und der Schichtung (bzw. Klasse) auf die Identifikation mit den Unionsparteien, der SPD und den Grünen und führen einen LR-Test der Nullhypothese bezüglich des Einflusses der Sozialstruktur durch

modWest2structure <- update(modWest1eltern,
                            .~.+ partei:(Class7a
                                         +kirchg
                                         +Katholisch
                                         +gewerkschaft))
(testSozialStruktur <- anova(modWest1eltern,
                             modWest2structure,
                             test="Chisq"))
Analysis of Deviance Table

Model 1: cbind(parneidum, id) ~ partei + parneivadum + parneimudum
Model 2: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft
  Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1      5172     2145.2
2      5106     1992.2 66   152.97 7.35e-09 ***
---
codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Das Ergebnis des LR-Tests deutet wieder darauf hin, dass der Einfluss der Sozialstruktur auf die Parteineigung in der Stichprobe statistisch signifikant ist.

Eine ganze Reihe von Hypothesen lässt sich formulieren in Bezug auf den Zusammenhang zwischen Alter und Parteineigung:

  • Individuelle Stabilisierung: Mit zunehmendem Alter verfestigen sich politische Meinungen und Orientierungen, einschließlich von Parteineigung und Parteiidentifikation, entsprechend nimmt die Parteineigung mit dem Alter zu. (Kent Jennings; Sears & Valentino)
  • Sekulares Dealignment und Realignment durch Wertewandel: Die Verbreitung neuer, postmaterialistischer (Inglehart) oder nonkonformistischer Wertorientierungen (Klages) erodiert die Zustimmung insbesondere zu den traditionellen “Volksparteien”.
  • Sekulares Dealignment durch kognitive Mobilisierung: Zugang zu Bildung und durch Massenmedien führen dazu, dass Parteiidentifikation weniger wichtig wird, um sich in der Politik orientieren zu können (Dalton). Daher entwickeln später geborene Generationen (die mit mehr Bildung und Medieninformation aufgewachsen sind) seltener eine feste Parteineigung oder Parteiidentifikation. Der Einfluss des Alters sollte dann aber stark durch die Bildung vermittelt worden sein.

In einem Querschnitt lassen sich Alters- und Generationseffekte natürlich nicht trennen: Befragte mit unterschiedlichem Alter sind zu unterschiedlichen Jahren geboren und haben (potentiell) unterschiedliche generationsspezifische Erfahrungen gemacht. Wir können hier also nicht viel mehr, als den Effekt des Alters zu untersuchen.

Im folgenden konstruieren wir zwei Modelle des Einflusses des Alters auf die Parteineigung: Ein Modell, das nur einen linearen (d.h. vor allem: monotononen) Effekt des Alters zulässt, und ein Modell das auch kurvilineare Effekte zulässt, in dem es ein orthogonales Polynom fünften Grades des Alters enthält. Anschließend führen wir zwei LR-Tests durch, zunächst eines linearen Effekts des Alters gegen kein Alter als Nullhypothese, dann einen kurvilinearen Effekt des Alters gegen einen nur linearen Effekt als Nullhypothese.

modWest3alter1 <- update(modWest2structure,
                        .~.+partei:alter)
modWest3alter2 <- update(modWest2structure,
                        .~.+partei:poly(alter,degree=5))
(testAlter <- anova(modWest2structure,
                    modWest3alter1,
                    modWest3alter2,
                    test="Chisq"))
Analysis of Deviance Table

Model 1: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft
Model 2: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:alter
Model 3: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:poly(alter, degree = 5)
  Resid. Df Resid. Dev Df Deviance  Pr(>Chi)
1      5106     1992.2
2      5100     1960.2  6   31.999 1.632e-05 ***
3      5076     1928.1 24   32.051    0.1257
---
codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
format_html(testAlter,digits=c(0,1,0,2,3)) %>%
  gsub(pattern="NA",replacement="",fixed=TRUE) %>%
             cat(file="testAlter-redux.html")

Das Ergebnis des LR-Tests ist eindeutig: Es gibt statistisch signifikante Anhaltspunkte für die Existenz eines linearen Effektes des Alters auf die Parteineigung (wie genau der sich auch auf die einzelnen Parteien auswirken mag). Dagegen gibt es keine Anhaltspunkte für einen kurvilinearen (und damit möglicherweise nicht-monotonen) Effekt des Alters.

Wenn der Alterseffekt vor allem ein Effekt kognitiver Mobilisierung ist, dann sollte er schwächer ausfallen, wenn man zuvor für die Schulbildung kontrolliert. Das wird durch die folgenden Modelle untersucht. Das erste Modell enthält (zusätzlich zu sozialstrukturellen Faktoren) die Schulbildung. Das zweite Modell enthält zusätzlich zur Schulbildung noch einen linearen Alterseffekt. Wenn das Ergebniss des LR-Tests nicht statistisch signifikant ausfällt (oder bedeutend schwächer), dann ist ein deutlicher Teil des Effekts des Alters durch die Schulbildung vermittelt, was zugunsten des Effekts der kognitiven Mobilisierung sprechen würde.

modWest3structure <- update(modWest2structure,
                            subset=is.finite(schulabschluss))
modWest3bildung <- update(modWest3structure,
                        .~.+partei:schulabschluss,
                        subset=is.finite(alter))
modWest4alter <- update(modWest3bildung,
                        .~.+partei:alter)
(testBildungAlter <- anova(modWest3structure,
                           modWest3bildung,
                           modWest4alter,
                           test="Chisq"))
Analysis of Deviance Table

Model 1: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft
Model 2: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss
Model 3: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter
  Resid. Df Resid. Dev Df Deviance  Pr(>Chi)
1      5022     1957.8
2      5010     1912.5 12   45.292 9.183e-06 ***
3      5004     1890.2  6   22.222  0.001104 **
---
codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
format_html(testBildungAlter,digits=c(0,1,0,2,3)) %>%
  gsub(pattern="NA",replacement="",fixed=TRUE) %>%
             cat(file="testBildungAlter-redux.html")

Das Ergebnis des LR-Tests zeigt, dass die Schulbildung einen Einfluss auf die Parteineigung hat und dass ein Einfluss des Alters auch dann nachweisbar ist, wenn zuvor für den Einfluss der Schulbildung kontrolliert worden ist. Das Alter hat also einen Einfluss auf die Parteineigung, der nicht vollständig von der Schulbildung vermittelt ist. Der Effekt des Alters ist also nicht (oder nicht vollständig) auf eine kognitive Mobilisierung der später geborenen Generationen zurückzuführen.

Wir erkunden nun ob es Effekte des Bundeslands und des Bundeslands der Geburt der Befragten gibt. Hierzu bauen wir auf dem Modell, dass neben der elterlichen Parteineigung und sozialstrukturellen Variablen auch Alter und Schulbildung als unabhängige Variablen enthält. Zuerst bauen wir Dummyvariablen ein für die (westdeutschen) Bundesländer, in denen die Befragten aktuell wohnhaft sind, und danach für die Bundesländer in denen sie geboren sind. Erneut führen wir LR-Tests der Nullhypothesen des Einflusses des Bundeslands (aktuell und bei Geburt) durch.

modWest4alter_ <- update(modWest4alter,subset=is.finite(bula_geb))
modWest5bula <- update(modWest4alter_,
                        .~.+partei:bula12)
modWest6bula_geb <- update(modWest5bula,
                        .~.+partei:bula_geb)
(testBuLa <- anova(modWest4alter_,
                   modWest5bula,
                   modWest6bula_geb,
                   test="Chisq"))
Analysis of Deviance Table

Model 1: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter
Model 2: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12
Model 3: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12 + partei:bula_geb
  Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1      5004     1890.2
2      4968     1826.3 36   63.979 0.002783 **
3      4932     1790.3 36   35.928 0.472014
---
codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
format_html(testBuLa,digits=c(0,1,0,2,3)) %>%
  gsub(pattern="NA",replacement="",fixed=TRUE) %>%
             cat(file="testBuLa-redux.html")

Der LR-Test ergibt, dass ein Effekt des aktuell bewohnten Bundeslandes auf die Parteineigung nachweisbar ist, dass für das Bundesland bei Geburt aber nicht, wenn der Einfluss des ersteren Faktors berücksichtigt wird. Allerdings kann es sein, dass dies lediglich bedeutet, dass die beiden Faktoren sich empirisch nicht auseinander halten lassen. In diesem Fall müssten wir ein ähnliches Resultat erhalten, wenn wir die Reihenfolge, in der die beiden Faktoren in die mit dem LR-Test verglichenen Modelel eingeführt werden, umgekehrt wird.

modWest6bula_geb_bula0 <- update(modWest6bula_geb,.~.-partei:bula12)
(testBuLaG <- anova(modWest4alter_,
                    modWest6bula_geb_bula0,
                    modWest6bula_geb,
                    test="Chisq"))
Analysis of Deviance Table

Model 1: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter
Model 2: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula_geb
Model 3: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12 + partei:bula_geb
  Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1      5004     1890.2
2      4968     1825.5 36   64.696 0.002327 **
3      4932     1790.3 36   35.212 0.505892
---
codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
format_html(testBuLaG,digits=c(0,1,0,2,3)) %>%
  gsub(pattern="NA",replacement="",fixed=TRUE) %>%
             cat(file="testBuLaG-redux.html")

Der LR-Test zeigt, dass der Einfluss des aktuell bewohnten Bundeslands nicht mehr nachweisbar ist, wenn zuvor der Einfluss des Bundeslands der Geburt berücksichtigt wurde. Die Reihenfolge, in der Effekte des von den Befragten aktuell bewohnten Bundeslands und des Bundeslands in den sie geboren sind, in das Modell eingeführt werden darüber entscheidet, welcher von Ihnen zu einer statistisch signifikanten Verbesserung der Modellanpasssung führt. Die Relevanz der beiden Effekte ist daher statistisch kaum zu entscheiden. Allerdings ist die Modellpassung des Modells mit dem Effekt des aktuell bewohnten Bundeslands etwas besser als die des Modells mit dem Effekt des Geburtslandes. Wir ziehen daher letzteres vor.

Graphische Darstellung relevanter Effekte im Basismodell

Wir laden zunächst die benötigten Zusatzpakete …

#library(mpred)
devtools::load_all("~/R/devel/mpred/pkg")
library(parallel)
library(ggplot2)
library(ggformula)

und definieren eine Hilfsfunktion für Konfidenzintervalle, die auf den Bereich zwischen Null und Eins beschränkt sind.

cibeta <- function(mean,sd,level){

    var <- sd^2
    nu <- mean*(1-mean)/var-1
    shp1 <- mean*nu
    shp2 <- (1-mean)*nu

    alpha <- (1-level)/2
    p.lower <- alpha
    p.upper <- 1-alpha

    list(lower=qbeta(p=p.lower,shape1=shp1,shape2=shp2),
         upper=qbeta(p=p.upper,shape1=shp1,shape2=shp2))
}

Zusammenhang mit Alter

Wir berechnen die predictive margins für das Alter:

pm.alter <- predmarg(modWest5bula,
                     data=gles2013workLongWest,
                     alter=seq(from=18,to=65),
                     cifunc=cibeta,
                     groups=partei,
                     parallel=TRUE
                     )
pm.alter %<>% within(partei%<>%relabel("CDU.CSU"="CDU/CSU"))
(gp.alter <-
   gf_ribbon(100*upper+100*lower~alter|partei,data=pm.alter,fill="gray80",alpha=1) %>%
   gf_line(100*pred~alter) %>%
   gf_facet_wrap(~partei,nrow=2) %>%
   gf_labs(x="Alter",y="Wahrscheinlichkeit Parteiidentifikation Befragte(r)") %>%
   gf_theme(theme=theme_bw()))
/inbook/politischer-kontext-parteiidentifikation/analysen/pred-margins-alter-west.svg

Einfluss des Elternhauses

Wir berechnen die predictive margins für den Einfluss des Elternhauses

pm.eltern <- predmarg(modWest5bula,data=gles2013workLongWest,
                      parneivadum=0:1,
                      parneimudum=0:1,
                      partei1=levels(partei),
                      setup={
                          p <- as.integer(partei==partei1)
                          parneivadum <- parneivadum*p
                          parneimudum <- parneimudum*p
                      },
                      cifunc=cibeta,
                      groups=partei)
pm.eltern %<>% subset(partei==partei1)

Wir fassen die Dummies für Vater und Mutter in einen Faktor zusammen:

pm.eltern %<>% within({
    parneieltern <- cases(
        "Keine"  <- parneivadum==0 & parneimudum == 0,
        "Vater"  <- parneivadum==1 & parneimudum == 0,
        "Mutter" <- parneivadum==0 & parneimudum == 1,
        "Beide"  <- parneivadum==1 & parneimudum == 1
      )
      parneieltern <- factor(parneieltern,
                             levels=unique(parneieltern))
partei%<>%relabel("CDU.CSU"="CDU/CSU")
})
(gp.eltern <- gf_col(100*pred~parneieltern|partei,
                     data=pm.eltern,
                     fill="gray70") %>%
     gf_facet_wrap(~partei,nrow=2) %>%
     gf_errorbar(100*upper+100*lower~parneieltern,
                 width=.2) %>%
     gf_labs(x="Parteiidentifikation Eltern",
             y="Wahrscheinlichkeit Parteiidentifikation Befragte(r)") %>%
     gf_theme(theme=theme_bw()))
/inbook/politischer-kontext-parteiidentifikation/analysen/pred-margins-eltern-west.svg

Einfluss des Bundeslandes

pm.bula <- predmarg(modWest5bula,
                    data=gles2013workLongWest,
                    bula12=levels(bula12),
                    cifunc=cibeta,
                    parallel=FALSE,
                    groups=partei)
pm.bula %<>% within({
    bula.kurz <- relabel(bula12,
                         "Baden-Wuerttemberg"="BW",
                         "Bayern"="BY",
                         "Bremen"="HB",
                         "Hamburg"="HH",
                         "Hessen"="HE",
                         "Niedersachsen"="NI",
                         "Nordrhein-Westfalen"="NW",
                         "Rheinland-Pfalz"="RP",
                         "Saarland"="SL",
                         "Schleswig-Holstein"="SH")
    bula.kurz <- factor(bula.kurz)
    partei%<>%relabel("CDU.CSU"="CDU/CSU")
})
(gp.bula <- gf_col(100*pred~bula.kurz|partei,
                   data=pm.bula,
                   fill="gray70") %>%
     gf_facet_wrap(~partei,nrow=2) %>%
     gf_errorbar(100*upper+100*lower~bula.kurz,
                 width=.2) %>%
     gf_labs(x="",y="Wahrscheinlichkeit Parteiidentifikation Befragte(r)") %>%
     gf_theme(theme=theme_bw()) +
     theme(axis.text.x=element_text(angle=90,vjust=0.5,hjust=1)))
/inbook/politischer-kontext-parteiidentifikation/analysen/pred-margins-bula-west.svg
gles2013workLongWest.redux <- subset(gles2013workLongWest,
                                     bula12 %nin% c("Bremen","Saarland")
                                     & bula12 == bula_geb
                                     )
modWest5bula.redux <- update(modWest5bula,
                             data=gles2013workLongWest.redux)

(test.modWest5bula.redux <- anova(
    update(modWest5bula.redux,.~.-partei:bula12),
    modWest5bula.redux,
    test="Chisq"
))
Model 1: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter
Model 2: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12
  Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1      4297     1609.5
2      4261     1546.3 36   63.116 0.003445 **
---
codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Erkundung des Effektes der Regierungsbeteiligung auf Bundesebene

Effekt der Regierungsbeteiligung bei unterschiedlichem Alter

Im folgenden untersuchen wir ob die Beteiligung einer Partei an der Bundesregierung einen Einfluss auf die Parteineigung hat. Ausgangspunkt ist das im vorherigen Abschnitt konstruierte Basismodell, welches die Parteineigung der Eltern, sozialstrukturelle Variablen, Bildung Alter und das aktuell bewohnte Bundesland als unabhängige Variablen enthält. Wir erweitern das Modell um die Effekte der Regierungsbeteiligung einer Partei während unterschiedlicher Altersbereiche: während der ersten 10 Jahre, von 11 bis 16 Jahren, von 17 bis 25 Jahren und älter als 25 Jahre. Die Variable regbet_bund_age ist eine Matrix die jeweils eine Spalte für jedes Lebensalter eines oder einer Befragten enthält und je eine Zeile für jede Kombination von Alternative und Befragter bzw. Befragtem. Das so erweiterte Modell ist so konstuiert, dass der Einfluss der Regierungsbeteiligung auf Bundesebene auf die Parteineigung für unterschiedliche Parteien verschieden stark ausfallen kann. Dies wird dadurch erreicht, dass wir Interaktionsterme der Faktorvariable partei mit der Variable regbet_bund_age konstruieren. Um die Nullhypothese bezüglich dieser Effekte zu testen verwenden wir wieder einen LR-Test.

Im folgenden testen wir die Nullhypothese bezüglich der ersten 10 Jahre, der Altersspanne von 11 bis 16 Jahren, von 17 bis 25 Jahren, älter als 25 Jahre jeweils einzeln, und dann hinsichtlich aller vier Altersspannen

gles2013workLongWest %<>% within({
    regbet_bund_age1 <- rowMeans(regbet_bund_age[,1:10])
    regbet_bund_age2 <- rowMeans(regbet_bund_age[,11:16])
    regbet_bund_age3 <- rowMeans(regbet_bund_age[,17:25])
    regbet_bund_age4 <- rowMeans(regbet_bund_age[,26:65])
})

modWest_regbet_bund_age4.1 <- update(modWest5bula,
                                     .~.+partei:regbet_bund_age1
                           )
modWest_regbet_bund_age4.2 <- update(modWest5bula,
                                     .~.+partei:regbet_bund_age2
                           )
modWest_regbet_bund_age4.3 <- update(modWest5bula,
                                     .~.+partei:regbet_bund_age3
                           )
modWest_regbet_bund_age4.4 <- update(modWest5bula,
                                     .~.+partei:regbet_bund_age4
                           )
test_regbet_bund_age4.1 <- anova(modWest5bula,
                                modWest_regbet_bund_age4.1,
                                test="Chisq")
test_regbet_bund_age4.2 <- anova(modWest5bula,
                                modWest_regbet_bund_age4.2,
                                test="Chisq")
test_regbet_bund_age4.3 <- anova(modWest5bula,
                                modWest_regbet_bund_age4.3,
                                test="Chisq")
test_regbet_bund_age4.4 <- anova(modWest5bula,
                                modWest_regbet_bund_age4.4,
                                test="Chisq")
(test_regbet_bund_age4 <- rbind(
     " 1-10"=test_regbet_bund_age4.1[2,],
     "11-16"=test_regbet_bund_age4.2[2,],
     "17-25"=test_regbet_bund_age4.3[2,],
     "26-65"=test_regbet_bund_age4.4[2,]
 ))
Analysis of Deviance Table

Model 1: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12
Model 2: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12 + partei:regbet_bund_age1
      Resid. Df Resid. Dev Df Deviance Pr(>Chi)
 1-10      4963     1815.3  5  10.9279  0.05283 .
11-16      4963     1818.9  5   7.3778  0.19403
17-25      4963     1822.2  5   4.1108  0.53357
26-65      4963     1811.2  5  15.0798  0.01003 *
---
codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Die LR-Tests für die einzelnen Altersspannen legen nahe, dass es einen Sozialisationseffekt der Regierungstätigkeit auf Bundesebene gibt, wenn die Befragten unter 10 Jahre und/oder älter als 25 Jahre alt sind. Der p-Wert für die Altersspannen von unter 17 Jahren liegt aber sehr nahe am konventionellen 5%-Niveau.

Um zu überprüfen, ob insbesondere die Effekte der Altersspanne von unter 17 Jahren statistisch signifikant ist, führen wir einen weiteren LR-Test durch, in dem das Modell mit dem Sozialisationseffekt in der Altersspanne über 25 Jahre um die früheste Altersspanne erweitert wird.

modWest_regbet_bund_age4.41 <-
    update(modWest_regbet_bund_age4.4,
           .~.+partei:regbet_bund_age1
           )
(test_regbet_bund_age4.41 <- anova(modWest_regbet_bund_age4.4,
      modWest_regbet_bund_age4.41,
      test="Chisq"))
Analysis of Deviance Table

Model 1: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12 + partei:regbet_bund_age4
Model 2: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12 + partei:regbet_bund_age4 +
    partei:regbet_bund_age1
  Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1      4963     1811.2
2      4958     1803.6  5   7.6209   0.1784
modWest_regbet_bund_age4.42 <-
    update(modWest_regbet_bund_age4.4,
           .~.+partei:regbet_bund_age2
           )
(test_regbet_bund_age4.42 <- anova(modWest_regbet_bund_age4.4,
      modWest_regbet_bund_age4.42,
      test="Chisq"))
Analysis of Deviance Table

Model 1: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12 + partei:regbet_bund_age4
Model 2: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12 + partei:regbet_bund_age4 +
    partei:regbet_bund_age2
  Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1      4963     1811.2
2      4958     1809.8  5   1.4426   0.9196

Wenn für einen Sozialisationseffekt während der Altersspanne größer als 25 Jahre kontrolliert wird, ist der Effekt während der frühensten Altersspanne nicht mehr statistisch signifikant. Der Befund eines Sozialisationseffektes während der ersten 10 Jahre ist also nicht robust.

Ob sich der Einfluss der nach dem 25 Lebensjahr erfahrenen Regierungsbeteiligung auf Bundesebene sich überhaupt im Sinne einer positiven Beeinflussung der Parteiidentifikation interpretieren lässt, überprüfen wir durch Berechnung und Darstellung der predictive margins.

pm.regbet4 <- predmarg(modWest_regbet_bund_age4.4,
                       Partei=levels(partei),
                       Regbet=seq(from=0,to=1,length=21),
                       setup={
                           Regbet <- unique(Regbet)
                           regbet_bund_age4[partei==Partei] <- Regbet
                           regbet_bund_age4[partei!=Partei] <- 0
                       },
                       cifunc=cibeta,
                       parallel=FALSE,
                       groups=partei)

pm.regbet4 %<>% subset(
                    partei==Partei &
                    partei%in%c("CDU.CSU","SPD","FDP","Grüne"))
pm.regbet4 %<>% within({
    lower <- ifelse(is.finite(lower),lower,0)
    upper <- ifelse(is.finite(upper),upper,1)
    partei %<>% relabel(CDU.CSU="CDU/CSU")
})
(gp.regbet4 <-
     gf_ribbon(100*upper+100*lower~Regbet|partei,data=pm.regbet4,
               fill="gray80",alpha=1) %>%
     gf_line(100*pred~Regbet) %>%
     gf_facet_wrap(~partei,nrow=1) %>%
     gf_labs(x="Zeitanteil Regierungsbeteiligung",
             y="Wahrsch. Parteiid. Befr.") %>%
     gf_theme(theme=theme_bw()) +
     scale_x_continuous(breaks=c(0,2,4,6,8,10)/10))
/inbook/politischer-kontext-parteiidentifikation/analysen/pred-margins-regbet-26-65-west.svg

Noch ein Check: Anteil der Lebensjahre über 25 jeweils nach Auftreten der Grünen und der Linken

Anzahl der Jahre in denen man nach 1983 (dem ersten Mal in dem die Grünen in den Bundestag einzogen und damit ein relevanter Teil des Parteiensystems wuren): 2013-1983+1

Anzahl der Jahre in denen man über 25 Jahre war: Alter - 25

Geburtsjahr: 2013 - Alter

Alter im Jahr 1983: 1983 - Geburtsjahr = 1983 - (2013 - Alter)

War man 1983 über 25? 1983 - (2013 - Alter) > 25 War man 1990 über 25? 1990 - (2013 - Alter) > 25

gles2013workLongWest %<>% within({
  over25.1983 <- as.integer(1983 - (2013 - alter) > 25)
  over25.1990 <- as.integer(1990 - (2013 - alter) > 25)
})
modWest_regbet_bund_age4.4.ydu <-
    update(modWest_regbet_bund_age4.4,
           .~.+partei:(over25.1983+over25.1990),
           data=gles2013workLongWest)
modWest_regbet_ydu <-
    update(modWest_regbet_bund_age4.4.ydu,
           .~.-partei:regbet_bund_age4,
           data=gles2013workLongWest)
(test_regbet_bund_age4.ydu <- anova(modWest_regbet_ydu,
      modWest_regbet_bund_age4.4.ydu,
      test="Chisq"))
Analysis of Deviance Table

Model 1: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12 + partei:over25.1983 +
    partei:over25.1990
Model 2: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12 + partei:regbet_bund_age4 +
    partei:over25.1983 + partei:over25.1990
  Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1      4956     1811.6
2      4951     1796.1  5   15.503 0.008415 **
---
codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
pm.regbet4.ydu <- predmarg(modWest_regbet_bund_age4.4.ydu,
                       Partei=levels(partei),
                       Regbet=seq(from=0,to=1,length=21),
                       setup={
                           Regbet <- unique(Regbet)
                           regbet_bund_age4[partei==Partei] <- Regbet
                           regbet_bund_age4[partei!=Partei] <- 0
                       },
                       cifunc=cibeta,
                       parallel=FALSE,
                       groups=partei)

pm.regbet4.ydu %<>% subset(
                    partei==Partei &
                    partei%in%c("CDU.CSU","SPD","FDP","Grüne"))
pm.regbet4.ydu %<>% within({
    lower <- ifelse(is.finite(lower),lower,0)
    upper <- ifelse(is.finite(upper),upper,1)
    partei %<>% relabel(CDU.CSU="CDU/CSU")
})
(gp.regbet4.ydu <-
     gf_ribbon(100*upper+100*lower~Regbet|partei,data=pm.regbet4.ydu,fill="gray80",alpha=1) %>%
     gf_line(100*pred~Regbet) %>%
     gf_facet_wrap(~partei,nrow=1) %>%
     gf_labs(x="Zeitanteil Regierungsbeteiligung",
             y="Wahrsch. Parteiid. Befr.") %>%
     gf_theme(theme=theme_bw()) +
     scale_x_continuous(breaks=c(0,2,4,6,8,10)/10))
/inbook/politischer-kontext-parteiidentifikation/analysen/pred-margins-regbet-26-65-west-a.svg

Erkundung des Effektes der Regierungsbeteiligung auf Landesebene

Effekt der Regierungsbeteiligung bei unterschiedlichem Alter

Im folgenden untersuchen wir den Einfluss der in unterschiedlichen Lebensphasen erlebten Regierungsbeteiligung der Parteien auf die Indentifikation mit diesen. Ausgangspunkt ist das Modell mit den Einflüssen der im Kindesalter erlebten Regierungsbeteiligung auf Bundesebene, da sich für diese Einflüsse statistische Anhaltspunkte ergeben. Wieder untersuchen wir die Einflüsse der Lebensphasen einzeln und dann zusammen.

gles2013workLongWest.redux <- subset(gles2013workLongWest,
                                     as.character(bula12)==as.character(bula_geb))

gles2013workLongWest.redux %<>% within({
    regbet_land_age1 <- rowMeans(regbet_land_age[,1:10])
    regbet_land_age2 <- rowMeans(regbet_land_age[,11:16])
    regbet_land_age3 <- rowMeans(regbet_land_age[,17:25])
    regbet_land_age4 <- rowMeans(regbet_land_age[,26:65])
})
modWest_regbet_land_age4.1 <- update(modWest5bula.redux,
                        .~.+partei:regbet_land_age1
                           )
modWest_regbet_land_age4.2 <- update(modWest5bula.redux,
                        .~.+partei:regbet_land_age2
                           )
modWest_regbet_land_age4.3 <- update(modWest5bula.redux,
                        .~.+partei:regbet_land_age3
                           )
modWest_regbet_land_age4.4 <- update(modWest5bula.redux,
                        .~.+partei:regbet_land_age4
                           )
test_regbet_land_age4.1 <- anova(modWest5bula.redux,
                                modWest_regbet_land_age4.1,
                                test="Chisq")
test_regbet_land_age4.2 <- anova(modWest5bula.redux,
                                modWest_regbet_land_age4.2,
                                test="Chisq")
test_regbet_land_age4.3 <- anova(modWest5bula.redux,
                                modWest_regbet_land_age4.3,
                                test="Chisq")
test_regbet_land_age4.4 <- anova(modWest5bula.redux,
                                modWest_regbet_land_age4.4,
                                test="Chisq")
(test_regbet_land_age4 <- rbind(
     " 1-10"=test_regbet_land_age4.1[2,],
     "11-16"=test_regbet_land_age4.2[2,],
     "17-25"=test_regbet_land_age4.3[2,],
     "26-65"=test_regbet_land_age4.4[2,]
 ))
Analysis of Deviance Table

Model 1: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12
Model 2: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12 + partei:regbet_land_age1
      Resid. Df Resid. Dev Df Deviance Pr(>Chi)
 1-10      4256     1541.3  5   5.0216 0.413254
11-16      4256     1544.1  5   2.2223 0.817608
17-25      4256     1531.2  5  15.1202 0.009861 **
26-65      4256     1540.3  5   5.9904 0.307149
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
devtools::load_all("~/R/devel/mpred/pkg")
library(parallel)
library(ggplot2)
library(ggformula)

  pm.regbet4l <- predmarg(modWest_regbet_land_age4.3,
                          Partei=levels(partei),
                          Regbet=seq(from=0,to=1,length=21),
                          setup={
                              Regbet <- unique(Regbet)
                              regbet_land_age3[partei==Partei] <- Regbet
                              regbet_land_age3[partei!=Partei] <- 0
                          },
                          cifunc=cibeta,
                          parallel=FALSE,
                          groups=partei)

  pm.regbet4l %<>% subset(
                       partei==Partei &
                       partei%in%c("CDU.CSU","SPD","FDP","Grüne"))
pm.regbet4l %<>% within({
    lower <- ifelse(is.finite(lower),lower,0)
    upper <- ifelse(is.finite(upper),upper,1)
    partei %<>% relabel(CDU.CSU="CDU/CSU")
})
(gp.regbet4l <-
     gf_ribbon(100*upper+100*lower~Regbet|partei,data=pm.regbet4l,fill="gray80",alpha=1) %>%
     gf_line(100*pred~Regbet) %>%
     gf_facet_wrap(~partei,nrow=1) %>%
     gf_labs(x="Zeitanteil Regierungsbeteiligung",
             y="Wahrsch. Parteiid. Befr.") %>%
     gf_theme(theme=theme_bw()) +
     scale_x_continuous(breaks=c(0,2,4,6,8,10)/10))
/inbook/politischer-kontext-parteiidentifikation/analysen/pred-margins-regbet-land-17-25-west.svg
modWest_regbet_land_age4.3.ydu <-
    update(modWest_regbet_land_age4.3,
           .~.+partei:(over25.1983+over25.1990))
modWest_regbet_land_ydu <-
    update(modWest_regbet_land_age4.3.ydu,
           .~.-partei:regbet_land_age3)
(modWest_regbet_land_age4.3.ydu <- anova(modWest_regbet_land_ydu,
      modWest_regbet_land_age4.3.ydu,
      test="Chisq"))
Analysis of Deviance Table

Model 1: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12 + partei:over25.1983 +
    partei:over25.1990
Model 2: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12 + partei:regbet_land_age3 +
    partei:over25.1983 + partei:over25.1990
  Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1      4249     1537.3
2      4244     1521.4  5   15.929 0.007049 **
---
codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Effekt der Regierungsbeteiligung mit unterschiedlichem Lag

Da die gelaggte Regierungsbeteiligung auf Landesebene variiert, ist es möglich auf deren Effekte zu testen. Ausgangspunkt ist das Modell mit den Effekten der während der Kindheit erlebten Regierungsbeteiligung auf Bundesebene.

modWest_regbet_land_lag3.0 <- update(modWest5bula.redux,.~.
                                   -partei:bula12
                                   )
modWest_regbet_land_lag3.1 <- update(modWest_regbet_land_lag3.0,.~.
                                   +partei:rowMeans(regbet_land_lag[,1:4])
                                   )
modWest_regbet_land_lag3.12 <- update(modWest_regbet_land_lag3.1,.~.
                                   +partei:rowMeans(regbet_land_lag[,5:8])
                                   )
modWest_regbet_land_lag3.123 <- update(modWest_regbet_land_lag3.12,.~.
                                   +partei:rowMeans(regbet_land_lag[,9:16])
                                   )
(test_regbet_land_lag3 <- anova(modWest_regbet_land_lag3.0,
                                modWest_regbet_land_lag3.1,
                                modWest_regbet_land_lag3.12,
                                modWest_regbet_land_lag3.123,
                                modWest5bula.redux,
                                modWest_regbet_land_age4.3,
                                test="Chisq"))
Analysis of Deviance Table

Model 1: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter
Model 2: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:rowMeans(regbet_land_lag[,
    1:4])
Model 3: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:rowMeans(regbet_land_lag[,
    1:4]) + partei:rowMeans(regbet_land_lag[, 5:8])
Model 4: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:rowMeans(regbet_land_lag[,
    1:4]) + partei:rowMeans(regbet_land_lag[, 5:8]) + partei:rowMeans(regbet_land_lag[,
    9:16])
Model 5: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12
Model 6: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:bula12 + partei:regbet_land_age3
  Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1      4297     1609.5
2      4292     1602.4  5    7.033 0.218191
3      4289     1592.5  3    9.890 0.019522 *
4      4284     1584.9  5    7.664 0.175733
5      4261     1546.3 23   38.528 0.022339 *
6      4256     1531.2  5   15.120 0.009861 **
---
codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
modWest_regbet_land_lag3.1.age4.3 <- update(modWest_regbet_land_lag3.1,
                                     .~.+partei:regbet_land_age3)
anova(modWest_regbet_land_lag3.1,
      modWest_regbet_land_lag3.1.age4.3,
      test="Chisq")
Analysis of Deviance Table

Model 1: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:rowMeans(regbet_land_lag[,
    1:4])
Model 2: cbind(parneidum, id) ~ partei + parneivadum + parneimudum + partei:Class7a +
    partei:kirchg + partei:Katholisch + partei:gewerkschaft +
    partei:schulabschluss + partei:alter + partei:rowMeans(regbet_land_lag[,
    1:4]) + partei:regbet_land_age3
  Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1      4292     1602.4
2      4287     1592.7  5   9.7549  0.08249 .
---
codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1