A data set on governors' opposition to Medicaid expansion under the ACA; illustrates logistic regression with separation in small samples
Source:R/br2014.R
br2014.Rd
A data set containing the rescaled variables that Barrilleaux and Rainey (2014) use in the their main statistical model of governors' decisions to oppose the Medicaid expansion under the Affordable Care Act. Most importantly, no Democratic governors opposed the expansion, leading to a problem of separation. Numeric variables are rescaled to have a mean of 0 and an SD of 0.5; binary variables are rescaled to have a mean of 0. This data set is used in Figure 2 on p. 446 of Barrilleaux and Rainey (2014).
Format
A data frame with 50 observations of rescaled versions of the following 10 variables:
- state
the name of the state
- oppose_expansion
equals one if the state's governor opposed the expansion and zero otherwise; outcome variable, so not rescaled
- gop_governor
equals one if the state's governor is Republican and zero otherwise
- percent_favorable_aca
an estimate of the percent of the state's population that views the ACA favorably
- gop_leg
equals one if Republicans control both houses of the state legislature and zero otherwise
- percent_uninsured
the percent of the state's population without health insurance
- bal2012
the state's year-end reserves as a percentage of total spending for 2012
- multiplier
the state's current Medicaid multiplier
- percent_nonwhite
the percent of the state that is non-white
- percent_metro
the percent of the state that resides in a metropolitan area
For further details, see Barrilleaux and Rainey (2014, pp. 444-445).
References
Barrilleaux, Charles, and Carlisle Rainey. 2014. "The Politics of Need: Examining Governors' Decisions to Oppose the 'Obamacare' Medicaid Expansion." State Politics and Policy Quarterly 14(4): 437–60. doi:10.1177/1532440014561644 .
Barrilleaux, Charles, and Carlisle Rainey. 2014. "politics_and_need_rescale.csv." Replication data for: "The Politics of Need: Examining Governors’ Decisions to Oppose the ‘Obamacare’ Medicaid Expansion". UNC Dataverse, V1. doi:10.15139/S3/12130 .
Rainey, Carlisle. 2016. "Dealing with Separation in Logistic Regression Models." Political Analysis 24(3): 339-355. doi:10.1093/pan/mpw014 .
Rainey, Carlisle. 2023. "Hypothesis Tests Under Separation." Forthcoming in Political Analysis. doi:10.31235/osf.io/bmvnu .
Examples
# a simple example
br <- crdata::br2014
# formula to reproduce Figure 2 on p. 446 of Barrilleaux and Rainey (2014).
f <- oppose_expansion ~ gop_governor + percent_favorable_aca + gop_leg +
percent_uninsured + bal2012 + multiplier + percent_nonwhite + percent_metro
# gop_governor == 0 perfectly predicts oppose_expansion == 0
table("oppose_expansion" = br$oppose_expansion,
"gop_governor" = br$gop_governor)
#> gop_governor
#> oppose_expansion -0.6 0.4
#> 0 20 14
#> 1 0 16
# logit model with separation
fit <- glm(f, data = br, family = binomial)
# Rainey (2023) shows that Wald tests can never reject null when variables
# create separation
summary(fit)
#>
#> Call:
#> glm(formula = f, family = binomial, data = br)
#>
#> Coefficients:
#> Estimate Std. Error z value Pr(>|z|)
#> (Intercept) -8.85514 1289.76013 -0.007 0.995
#> gop_governor 20.34924 3224.39979 0.006 0.995
#> percent_favorable_aca 0.12755 1.54920 0.082 0.934
#> gop_leg 2.42938 1.47965 1.642 0.101
#> percent_uninsured 0.92303 2.23424 0.413 0.680
#> bal2012 -0.05353 0.85353 -0.063 0.950
#> multiplier -0.35474 1.19260 -0.297 0.766
#> percent_nonwhite 1.43356 2.61588 0.548 0.584
#> percent_metro -2.75893 1.68666 -1.636 0.102
#>
#> (Dispersion parameter for binomial family taken to be 1)
#>
#> Null deviance: 62.687 on 49 degrees of freedom
#> Residual deviance: 31.710 on 41 degrees of freedom
#> AIC: 49.71
#>
#> Number of Fisher Scoring iterations: 19
#>
# Rainey (2023) shows that the LR test works fine when variables create
# separation, though.
fit0 <- update(fit, . ~ . - gop_governor)
anova(fit0, fit, test = "Chisq")
#> Analysis of Deviance Table
#>
#> Model 1: oppose_expansion ~ percent_favorable_aca + gop_leg + percent_uninsured +
#> bal2012 + multiplier + percent_nonwhite + percent_metro
#> Model 2: oppose_expansion ~ gop_governor + percent_favorable_aca + gop_leg +
#> percent_uninsured + bal2012 + multiplier + percent_nonwhite +
#> percent_metro
#> Resid. Df Resid. Dev Df Deviance Pr(>Chi)
#> 1 42 40.551
#> 2 41 31.710 1 8.8407 0.002946 **
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1