Each “analysis” lesson will be about a specific technique.
Today’s lesson is about a type of analysis that explores whether there is a relationship between municipality characteristics and voting patterns. Specifically, we discuss:
the (math-based) logic of Homogenous Precinct analyses
an example (using Lisa Handley’s dataset)
a replication (and extension) in RStudio
how to interpret the results of these analyses
Set of methods for testing the relationship between municipality characteristics and voting patterns
Compares voting patterns between:
homogeneous precincts (e.g., those with a high concentration of a particular racial/ethnic group)
non-homogenous precincts (for the same group)
If, for example, there is a precinct composed entirely of minority voters,
and if the voters within that precinct give most of their votes to a particular candidate,
then we can conclude that most minority voters support (i.e., prefer) that candidate
How homogenous do precincts need to be?
The problem: precincts are usually not exclusively one race/ethnicity
A (not “the”) solution: for analysis purposes, precincts that are \(\geq\) 90% minority are considered “homogeneous”
But your homogeneity thresholds might (have to) differ!
The goal is to say that a contest is racially polarized because
an overwhelming majority of minority voters preferred one candidate, and/or
an overwhelming majority of White voters preferred a different candidate.
Results for precincts that are \(\geq\) 90% Black
For \(\geq\) 90% White precincts (i.e., 100% – Black VAP)
If we combine results from the previous tables…
Based on these analyses…
How do we know? Because…
an overwhelming majority of voters in mostly Black precincts (94.9%) preferred candidate A
while the vast majority of voters in mostly White precincts (86.5%) supported candidate B.
Importing the data…
Install the readr package and load it to your “library”
Find the “PracticeData.csv” file (specify path)
Use the “read_csv” command to translate the file into R
Put R version of data into a new “object” (“my_data”)
Generating and recoding variables
Use dplyr’s “mutate” and “ifelse” commands to do the percentage and homogenous precinct variables
my_recodes <- (my_data %>%
mutate(pBlackVAP=(blackVAP/totalVAP)*100) %>%
mutate(pWhiteVAP=(whiteVAP/totalVAP)*100) %>%
mutate(pTurnoutVAP=(total_votes/totalVAP)*100) %>%
mutate(pVoteA=(candidateA/total_votes)*100) %>%
mutate(pVoteB=(candidateB/total_votes)*100) %>%
mutate(MostlyBlack=ifelse(pBlackVAP >= 90, 1, 0),
MostlyWhite=ifelse(pWhiteVAP >= 90, 1, 0))
)
data(my_recodes)
Here is a quick a glance at the revised data (with recodes)
Use the “filter” command (in dplyr) to sort through the data
Use the “filter” command (in dplyr) to sort through the data
Check for polarization using the following hypotheses:
H0: \(\bar{Y}\)(homogenous) \(=\) \(\bar{Y}\)(non-homogenous)
H1: \(\bar{Y}\)(homogenous) \(\neq\) \(\bar{Y}\)(non-homogenous)
where \(\bar{Y}\) represents a racial/ethnic group’s vote share (e.g., support for candidate A vs. candidate B), sorted by precinct type (e.g., homogenous vs. otherwise)
Evaluating the hypotheses using t-tests
Evaluating the hypotheses using t-tests
Data visualization (i.e., showing the results graphically)
library(ggplot2)
my_recodes %>%
group_by(MostlyBlack) %>%
summarise(meanA=mean(pVoteA),
ciA=1.96*sd(pVoteA)/sqrt(n())) %>%
ggplot(aes(x=factor(MostlyBlack, labels=c("Other", "Mostly Black")), y=meanA))+
geom_bar(stat="identity")+
geom_errorbar(aes(ymin=meanA-ciA, ymax=meanA+ciA), width=0.2) +
labs(title="Support for Candidate A", x="Type of precinct", y="Average vote share")
…in plain English (add a table explaining what the code does, line by line)
Clear evidence of polarization (when comparing vote choice in homogenously Black precincts to other precincts)
Qualified evidence of polarization (when comparing vote choice in homogenously White precincts to other precincts)
Recall that,
H0: \(\bar{Y}\)(homogenous) \(=\) \(\bar{Y}\)(non-homogenous)
H1: \(\bar{Y}\)(homogenous) \(\neq\) \(\bar{Y}\)(non-homogenous)
…where \(\bar{Y}\) represents a racial/ethnic group’s vote share (e.g., support for candidate A vs. candidate B), sorted by precinct type (e.g., homogenous vs. otherwise)
We have sufficient evidence to reject H0
If voting is polarized
If polarization is statistically significant and minority voters are sufficiently concentrated, the state must create district(s) that provide minority voters with an opportunity to elect candidates of choice.
In this example, we evaluated the degree to which voting patterns are polarized in the Handley data.
More generally, my goal was to show how you can assess the “fairness” of proposed districts using the results from RPV analysis.
Limitations of Homogeneous Precinct Analysis
Problematic threshold: In many jurisdictions there are no precincts that can be classified as homogeneous (based on the strict 90% cutoff point).
Limited information: Homogeneous precincts are often only a small, possibly unrepresentative, sample of the population.
Handley, Lisa. “Vote Dilution: Measuring Voting Patterns by Race/Ethnicity.” Presentation delivered at the National Conference of State Legislatures.
SCOTUS Blog. 2020. Section 2 of the Voting Rights Act: Vote Dilution and Vote Deprivation.