Abstract
Did the George Floyd protests of 2020, involving 15-26 million people in the U.S. and spreading to over 60 countries, have any tangible impact on the perceptions of the American public towards the existence and degree of racial discrimination? The protests led to unprecedented global discourse on racism and police brutality, yet there does not seem to exist much research questioning the impacts of the movement on beliefs regarding the prevalence of racism or opinions on policies such as affirmative action. Using survey data to identify two outcome variables measuring perceptions of racism and opinions on affirmative action, I find that in 2021, White individuals were less likely to perceive racism, a statistically significant relationship that did not exist in 2018, suggesting that a demarcation of perceptions and opinions on racial lines may have occurred in the midst of the societal upheaval of the protests. Additionally, education displayed a far more significant positive relationship with both outcome variables in 2021 than it did in 2018. Increases in political conservatism, age, and income were all significantly and negatively related to perceptions of racism for both years, with increases in political conservatism being identically related to support for affirmative action in 2018 and 2021.setwd("D:/DATA ANALYSIS/THEFINALPROJECT")
gss2021 = read_dta("D:/DATA ANALYSIS/THEFINALPROJECT/GSS2021.dta")
gss2018 = read_dta("D:/DATA ANALYSIS/THEFINALPROJECT/2018_stata/GSS2018.dta")
us_states = rgdal::readOGR("cb_2018_us_state_5m.shp",verbose = FALSE)
antiracismprotestdatajune = read_excel("D:/DATA ANALYSIS/THEFINALPROJECT/antiracismprotestdatajune.xlsx")Fatal and unaccountable use of force by law enforcement officers against Black civilians in the United States has long been a defining political issue and a reason of protest for activists and for the civil rights movement. The George Floyd protests of 2020 were the largest protests in the history of the United States, spreading to over 60 countries around the world and becoming an all-reaching global phenomenon.
On the 25th of May, 2020, George Floyd Jr., an African-American man, was murdered by police officer Derek Chauvin in Minneapolis, Minnesota. Chauvin, one of four cops arriving on the scene after a store clerk suspected Floyd of paying with a counterfeit bill, knelt on Floyd’s back and neck for 9 minutes and 29 seconds, cutting off his oxygen supply and leading to cardiac arrest1. Chauvin was sentenced to 22.5 years in prison, and the remaining three officers were also later convicted.
Floyd’s murder sparked the largest social protest movement in the country’s history, with between 15-26 million people participating in nationwide demonstrations2. More than 30 U.S. states activated service members of the National Guard and State Guard, with the deployment becoming the largest military operation, excluding warfare, in the country’s history. The protests led to global debates about racial injustice and policing systems, as well as worldwide efforts to remove racist images, names, and monuments- more than 170 confederate monuments across the States were removed3, as well as monuments in many other countries.
Protests and discourse on racism and police brutality rapidly spread in the online sphere, too. Data aggregated from Twitter shows that between May 25 and June 10, race and protest-related videos were watched over 1.4 billion times, and 80% of the 100 most-viewed videos on Twitter in the 12 days that followed Floyd’s death were related to similar topics4. By April 30, 2021, the hashtag ‘BlackLivesMatter’ had been used in more than 25 million original Twitter posts, which in total generated around 17,000 engagements per post5. Additionally, the death of George Floyd at the hands of the police opened up a far-reaching social media space for discourse relating to systematic and institutionalized racism, for the vast majority of tweets were composed of more general anti-racism statements and did not directly mention Floyd or Black Lives Matter6. The protests also led to various legislative proposals on federal, state, and municipal levels in the United States, with more than 30 states enacting one or more policing reforms7.
The protests occurred across the United States; below is displayed an interactive map displaying the total number of individuals per state that took part in antiracism or Black Lives Matter protests in the month of June, in the United States of America. As shown in the legend, a darker colored state implies a greater number of total protesters. The total number of protesters in a state is displayed by hovering over it. Note that conservative estimates of protest numbers are employed to create the map, as opposed to high estimates; thus, the numbers were likely, in actuality, higher than are presented.
# Replacing state abbreviations with state names as found in shape files, to prepare for merging
data_protests = data.frame(antiracismprotestdatajune)
data_protests["StateTerritory"][data_protests["StateTerritory"] == "NM"] <- "New Mexico"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "TN"] <- "Tennessee"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "IL"] <- "Illinois"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "NH"] <- "New Hampshire"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "CA"] <- "California"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "MA"] <- "Massachusetts"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "MN"] <- "Minnesota"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "TX"] <- "Texas"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "NJ"] <- "New Jersey"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "NC"] <- "North Carolina"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "GA"] <- "Georgia"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "MD"] <- "Maryland"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "ME"] <- "Maine"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "AL"] <- "Alabama"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "NY"] <- "New York"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "OH"] <- "Ohio"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "KY"] <- "Kentucky"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "CO"] <- "Colorado"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "IA"] <- "Iowa"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "FL"] <- "Florida"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "VA"] <- "Virginia"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "WA"] <- "Washington"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "SC"] <- "South Carolina"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "CT"] <- "Connecticut"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "MT"] <- "Montana"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "PA"] <- "Pennsylvania"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "OR"] <- "Oregon"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "AZ"] <- "Arizona"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "MI"] <- "Michigan"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "WI"] <- "Wisconsin"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "VT"] <- "Vermont"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "AR"] <- "Arkansas"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "NV"] <- "Nevada"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "MS"] <- "Mississippi"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "MO"] <- "Missouri"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "AK"] <- "Alaska"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "IN"] <- "Indiana"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "HI"] <- "Hawaii"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "LA"] <- "Louisiana"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "ID"] <- "Idaho"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "UT"] <- "Utah"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "OK"] <- "Oklahoma"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "NE"] <- "Nebraska"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "KS"] <- "Kansas"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "RI"] <- "Rhode Island"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "WY"] <- "Wyoming"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "WV"] <- "West Virginia"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "DE"] <- "Delaware"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "ND"] <- "North Dakota"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "SD"] <- "South Dakota"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "DC"] <- "District of Columbia"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "PR"] <- " Puerto Rico"
data_protests["StateTerritory"][data_protests["StateTerritory"] == "AS"] <- "American Samoa"
# loading in spatial data and sorting June protest data by total number of protesters per state
data_protests = data_protests %>%
group_by(StateTerritory) %>%
summarise(ProtestParticipants = sum(EstimateLow))
tag.map.title <- tags$style(HTML("
.leaflet-control.map-title {
transform: translate(-50%,20%);
position: fixed !important;
left: 50%;
text-align: center;
padding-left: 10px;
padding-right: 10px;
background: rgba(255,255,255,0.75);
font-weight: bold;
font-size: 28px;
}
"))
title <- tags$div(
tag.map.title, HTML("Anti-racism Protesters Per State, June 2020")
)
# Merging spatial data with protest participants data
us_states@data = left_join(us_states@data, data_protests, by = c('NAME' = 'StateTerritory'))
pal = colorNumeric(palette = c("#fdd0a2","#d94801"), domain =us_states@data$ProtestParticipants)
labels = sprintf(
"<strong> %s </strong> <br/>
Total Participants: %s <br/>",
us_states@data$NAME,
us_states@data$ProtestParticipants) %>% lapply(htmltools::HTML)
# Creating map, legend added
leaflet() %>%
addTiles() %>%
addControl(title,position="topleft",className="map-title") %>%
setView(lng = -100,
lat = 33,
zoom = 2) %>%
addPolygons(data = us_states,
weight = 2, smoothFactor = 0.2, fillOpacity = 1,
fillColor = ~pal(ProtestParticipants),
highlightOptions = highlightOptions(color = "red",weight = 8,
bringToFront = TRUE),label = labels) %>%
addLegend("bottomright", pal = pal,values = us_states@data$ProtestParticipants,
title = "Total Participants in Protests",
opacity = 1)As evident in the map, there were substantially large mobilizations across the United States in June after the death of George Floyd on the 25th of May, and these nationwide protests continued for months afterwards, an example of one manner in which the protests “reached into every corner of the United States and touched nearly every strand of society”8, providing the impetus for large-scale efforts to battle racism across society. Additionally, voter turnout in the 2020 U.S. presidential elections was the highest percentage turnout (66.3%) since 1900, and research suggests that the George Floyd protests may have partially contributed to this 120-year high, as there was a significant increase in voter registrations following the protests, strongest among 18–19-year-olds and statistically significant among people of color, Democrats, and high-income earners; this may partially indicate the societal impact of the protests9.
The global presence of these protests, then, opens up the possibility that such large-scale social protest could shift public attitudes towards the presence and the pervasiveness of institutional racism in society, as well as public attitudes towards policies such as affirmative action.
This project aims to explore whether such a shift in public attitude and opinion occurred after the George Floyd protests of 2020.
This study, aims to empirically test whether the unprecedented scale and widespread nature of the George Floyd protests changed public perceptions and opinions about the existence and scale of discrimination against African-Americans and the amount of support for policies such as affirmative action. Existing literature indicates that it is plausible for such a nationwide movement to have done so. Political scientist Thomas A. Birkland writes that a ‘focusing event’, defined as a publicly visible, sudden, and harmful event towards a certain ‘community of interest’, an event that very rapidly gains attention, can lead to relevant issues rising in the public agenda and can stimulate shifts in public opinion10. There is evidence that minority-led nonviolent activism and protests can not only drive public opinions and media coverage on civil rights, but areas close to nonviolent protests have seen presidential Democratic vote share increase significantly11; and the George Floyd protests of 2020 were largely nonviolent12,13.
Furthermore, research has shown that white Americans from counties that underwent civil rights protests are significantly less likely to hold or foster racial resentment against African-Americans, and more likely to support policies like affirmative action14. Research also shows that there was a significant shift in support for the Democratic candidate in the 2020 presidential elections in places that had greater protesting activity15. Together, this research means it is plausible to suggest that large-scale and widespread social protest against institutionalized racism could very well exert an influence on public opinion.
However, at the same time, the possibility that any such influence on public opinion is not a (substantially) ubiquitous one but rather is one dictated by partisan orientations must be considered, as existing research suggests that, for example, older, Republican, and conservative men are more likely to oppose Black Lives Matter16. Additionally, during and after the Floyd protests, many counternarratives and countermovements emerged, such as “Blue Lives Matter” protests and claims that systematic racism does not exist in law enforcement17,18.
The data used in this paper are the 2018 and 2021 datasets released by the General Social Survey (GSS), a sociological survey administered every other year by the National Opinion Research Center that records the attitudes, practices, and experiences of randomly chosen residents in the United States and is conducted over a 6 to 12 month period. The 2021 survey has a total of 4,032 respondents, and the 2018 survey has a total of 2,348 respondents; sample sizes are thus deemed sufficiently representative. While the 2021 survey was conducted some time after Floyd’s death and the initial onset of the protests, such a gap would perhaps check whether the results were long-lasting and would only tend to downward bias estimates of the impact.
Two outcome variables, both categorical, are identified and measured using a Likert scale: perceptions of discrimination against African-Americans in the United States (Yes/No variable) and levels of opposition or support for affirmative action in favour of African-Americans for hiring and promotion. More information about the variables employed and the phrasing of questions may be found in the appendix. Potential confounding factors are controlled for, including education level, age, gender, race, political ideology and income.
We begin with some exploratory visual analysis. The link between political views and perceptions of discrimination in society is an interesting one; research suggests that those who identify as more liberal are likely to perceive higher and stronger levels of institutional racism in the U.S than those who identify as more conservative19,20. This may suggest that a change in public opinions towards the pervasiveness of racism in society, if any, would be weaker for conservatives than it would be for liberals. Using both 2018 and 2021 datasets, below is plotted a bar chart for 2018 data that displays the proportion of total survey respondents, by ideology, who agreed with the premise that the worse jobs, income, and housing of African-Americans (on average) is caused mainly by discrimination. The proportion of respondents saying ‘Yes’, per ideology, out of a total of 1.0, is written on top of the bar charts.
relevantgss2018 = data.frame(
ID = c(gss2018$id),
Age = c(gss2018$age),
RacPerception = c(gss2018$racdif1),
RacSpending = c(gss2018$natrace),
Affrm_Act = c(gss2018$affrmact),
RSex = c(gss2018$sex),
PolViews = c(gss2018$polviews),
Reduc = c(gss2018$educ),
R_income = c(gss2018$rincom16),
R_race = c(gss2018$race) )
relevantgss2021 = data.frame(
ID = c(gss2021$id),
Age = c(gss2021$age),
RacPerception = c(gss2021$racdif1),
RacSpending = c(gss2021$natrace),
Affrm_Act = c(gss2021$affrmact),
Rsex = c(gss2021$sex),
PolViews = c(gss2021$polviews),
Reduc = c(gss2021$educ),
R_income = c(gss2021$rincom16),
R_race = c(gss2021$race)
)
# Creating variables holding all who responded, and all who agreed 'Yes'
extremely_liberal = relevantgss2018 %>% filter(PolViews == 1) %>% filter(RacPerception == 1 | RacPerception == 2)
extremely_liberal18 = relevantgss2018 %>% filter(PolViews == 1) %>% filter(RacPerception == 1)
liberal = relevantgss2018 %>% filter(PolViews == 2) %>% filter(RacPerception == 1 | RacPerception == 2)
liberal18 = relevantgss2018 %>% filter(PolViews == 2) %>% filter(RacPerception == 1)
slightly_liberal = relevantgss2018 %>% filter(PolViews == 3) %>% filter(RacPerception == 1| RacPerception == 2)
slightly_liberal18 = relevantgss2018 %>% filter(PolViews == 3) %>% filter(RacPerception == 1)
moderate = relevantgss2018 %>% filter(PolViews == 4) %>% filter(RacPerception == 1| RacPerception == 2)
moderate18 = relevantgss2018 %>% filter(PolViews == 4) %>% filter(RacPerception == 1)
slightly_conservative = relevantgss2018 %>% filter(PolViews == 5) %>% filter(RacPerception == 1 | RacPerception == 2)
slightly_conservative18 = relevantgss2018 %>% filter(PolViews == 5) %>% filter(RacPerception == 1)
conservative = relevantgss2018 %>% filter(PolViews == 6) %>% filter(RacPerception == 1 | RacPerception == 2)
conservative18 = relevantgss2018 %>% filter(PolViews == 6) %>% filter(RacPerception == 1)
extremely_conservative = relevantgss2018 %>% filter(PolViews == 7) %>% filter(RacPerception == 1| RacPerception == 2)
extremely_conservative18 = relevantgss2018 %>% filter(PolViews == 7) %>% filter(RacPerception == 1)
extremely_liberal_ = relevantgss2021 %>% filter(PolViews == 1) %>% filter(RacPerception == 1| RacPerception == 2)
extremely_liberal21 = relevantgss2021 %>% filter(PolViews == 1) %>% filter(RacPerception == 1)
liberal_ = relevantgss2021 %>% filter(PolViews == 2) %>% filter(RacPerception == 1| RacPerception == 2)
liberal21 = relevantgss2021 %>% filter(PolViews == 2) %>% filter(RacPerception == 1)
slightly_liberal_ = relevantgss2021 %>% filter(PolViews == 3) %>% filter(RacPerception == 1| RacPerception == 2)
slightly_liberal21 = relevantgss2021 %>% filter(PolViews == 3) %>% filter(RacPerception == 1)
moderate_ = relevantgss2021 %>% filter(PolViews == 4) %>% filter(RacPerception == 1| RacPerception == 2)
moderate21 = relevantgss2021 %>% filter(PolViews == 4) %>% filter(RacPerception == 1)
slightly_conservative_ = relevantgss2021 %>% filter(PolViews == 5) %>% filter(RacPerception == 1| RacPerception == 2)
slightly_conservative21 = relevantgss2021 %>% filter(PolViews == 5) %>% filter(RacPerception == 1)
conservative_ = relevantgss2021 %>% filter(PolViews == 6) %>% filter(RacPerception == 1| RacPerception == 2)
conservative21 = relevantgss2021 %>% filter(PolViews == 6) %>% filter(RacPerception == 1)
extremely_conservative_ = relevantgss2021 %>% filter(PolViews == 7) %>% filter(RacPerception == 1| RacPerception == 2)
extremely_conservative21 = relevantgss2021 %>% filter(PolViews == 7) %>% filter(RacPerception == 1)
# Creating data frame to host the data that ggplot2 will then use to plot
polviews_discrimination = data.frame(
"Ideology" = c("Extremely Liberal","Liberal","Slightly Liberal","Moderate","Slightly Conservative",
"Conservative","Extremely Conservative"),
"TotalRespondentsBelievingDiscrimination2018" = c(nrow(extremely_liberal18)/nrow(extremely_liberal),nrow(liberal18)/nrow(liberal),nrow(slightly_liberal18)/nrow(slightly_liberal),
nrow(moderate18)/nrow(moderate),nrow(slightly_conservative18)/nrow(slightly_conservative),nrow(conservative18)/nrow(conservative),
nrow(extremely_conservative18)/nrow(extremely_conservative)),
"TotalRespondentsBelievingDiscrimination2021" = c(nrow(extremely_liberal21)/nrow(extremely_liberal_),nrow(liberal21)/nrow(liberal_),nrow(slightly_liberal21)/nrow(slightly_liberal_), nrow(moderate21)/nrow(moderate_),nrow(slightly_conservative21)/nrow(slightly_conservative_),nrow(conservative21)/nrow(conservative_),
nrow(extremely_conservative21)/nrow(extremely_conservative_))
)
polviews_discrimination$Ideology = factor(polviews_discrimination$Ideology, levels = c("Extremely Liberal","Liberal","Slightly Liberal","Moderate",
"Slightly Conservative","Conservative","Extremely Conservative"),ordered = TRUE)
# Plotting using ggplot2
ggplot(data = polviews_discrimination, aes(x = Ideology, y = TotalRespondentsBelievingDiscrimination2018)) +
geom_bar(stat = "identity", position = "dodge", fill="midnightblue",
alpha = 0.8) +
geom_text(aes(label = round(TotalRespondentsBelievingDiscrimination2018, digits = 2)), vjust = -0.2, colour = "black") +
ylim(0,1)+
theme_light() +
theme(axis.title = element_text(face="bold")) +
theme(plot.title = element_text(hjust = 0.5)) +
theme(plot.subtitle = element_text(hjust = 0.5)) +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank()) +
labs(title = "Are African-Americans' Lower Standards of Living Mainly Due to Discrimination?",
subtitle = "2018",
x = "Political Views",
y = "Proportion of Respondents Answering Yes")The data suggests, then, that as political views change from extremely liberal to moderate to extremely conservative, the perceived presence of systemic discrimination against African-Americans in U.S. society decreases, with only 25% of extremely conservative Americans agreeing to its presence as compared to 73% of liberals. The same plot is drawn below, but for 2021 respondents. Note that while there is a difference in the number of respondents for both datasets, since we are working with proportions, the two remain comparable.
ggplot(data = polviews_discrimination, aes(x = Ideology, y = TotalRespondentsBelievingDiscrimination2021)) +
geom_bar(position = "dodge", stat = 'identity',fill="midnightblue",
alpha = 0.8)+
geom_text(aes(label = round(TotalRespondentsBelievingDiscrimination2021, digits = 2)), vjust = -0.2, colour = "black") +
ylim(0,1)+
theme_light() +
theme(axis.title = element_text(face="bold")) +
theme(plot.title = element_text(hjust = 0.5)) +
theme(plot.subtitle = element_text(hjust = 0.5)) +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank()) +
labs(title = "Are African-Americans' Lower Standards of Living Mainly Due to Discrimination?",
subtitle = "2021",
x = "Political Views",
y = "Proportion of Respondents Answering Yes")As seen in the graphs, there is an increase in the percentage of respondents who reply with ‘Yes’ across all political views, except for those identifying as ‘conservative’ or ‘extremely conservative’, for whom the percentage has actually decreased. Therefore, while it seems that there are differences in the amount of individuals who perceive discrimination against African-Americans between the years 2018 and 2021, it is not clear whether these differences are demarcated by partisan lines.
However, before regression analysis is run, this exploratory analysis may indicate that those who tend to identify as more liberal may have an increase in perceived discrimination against African-Americans between the years 2018 and 2021.
It is also interesting to explore whether any observable relationship may exist between perceptions of racism in society and the income levels of respondents. As such, below is graphed an interactive bar chart for the 2018 dataset displaying the proportion of respondents at each income level who agreed that African Americans’ Lower Standards of Living in the U.S.A., in general, are mainly due to discrimination. Note that hovering over the bars gives the exact proportion of respondents and their income range. Since proportions are used, we may compare between the 2018 and the 2021 graph, despite different numbers of respondents.
# Creating data to put into dataframe
income1_18all = relevantgss2018 %>% filter(R_income == 1) %>% filter(RacPerception == 1 | RacPerception == 2)
income1_18 = relevantgss2018 %>% filter(R_income == 1) %>% filter(RacPerception == 1)
income4_18all = relevantgss2018 %>% filter(R_income == 4) %>% filter(RacPerception == 1 | RacPerception == 2)
income4_18 = relevantgss2018 %>% filter(R_income == 4) %>% filter(RacPerception == 1)
income8_18all = relevantgss2018 %>% filter(R_income == 8) %>% filter(RacPerception == 1 | RacPerception == 2)
income8_18 = relevantgss2018 %>% filter(R_income == 8) %>% filter(RacPerception == 1)
income12_18all = relevantgss2018 %>% filter(R_income == 12) %>% filter(RacPerception == 1 | RacPerception == 2)
income12_18 = relevantgss2018 %>% filter(R_income == 12) %>% filter(RacPerception == 1)
income16_18all = relevantgss2018 %>% filter(R_income == 16) %>% filter(RacPerception == 1 | RacPerception == 2)
income16_18 = relevantgss2018 %>% filter(R_income == 16) %>% filter(RacPerception == 1)
income20_18all = relevantgss2018 %>% filter(R_income == 20) %>% filter(RacPerception == 1 | RacPerception == 2)
income20_18 = relevantgss2018 %>% filter(R_income == 20) %>% filter(RacPerception == 1)
income24_18all = relevantgss2018 %>% filter(R_income == 24) %>% filter(RacPerception == 1 | RacPerception == 2)
income24_18 = relevantgss2018 %>% filter(R_income == 24) %>% filter(RacPerception == 1)
income26_18all = relevantgss2018 %>% filter(R_income == 26) %>% filter(RacPerception == 1 | RacPerception == 2)
income26_18 = relevantgss2018 %>% filter(R_income == 26) %>% filter(RacPerception == 1)
# 2021
income1_21all = relevantgss2021 %>% filter(R_income == 1) %>% filter(RacPerception == 1 | RacPerception == 2)
income1_21 = relevantgss2021 %>% filter(R_income == 1) %>% filter(RacPerception == 1)
income4_21all = relevantgss2021 %>% filter(R_income == 4) %>% filter(RacPerception == 1 | RacPerception == 2)
income4_21 = relevantgss2021 %>% filter(R_income == 4) %>% filter(RacPerception == 1)
income8_21all = relevantgss2021 %>% filter(R_income == 8) %>% filter(RacPerception == 1 | RacPerception == 2)
income8_21 = relevantgss2021 %>% filter(R_income == 8) %>% filter(RacPerception == 1)
income12_21all = relevantgss2021 %>% filter(R_income == 12) %>% filter(RacPerception == 1 | RacPerception == 2)
income12_21 = relevantgss2021 %>% filter(R_income == 12) %>% filter(RacPerception == 1)
income16_21all = relevantgss2021 %>% filter(R_income == 16) %>% filter(RacPerception == 1 | RacPerception == 2)
income16_21 = relevantgss2021 %>% filter(R_income == 16) %>% filter(RacPerception == 1)
income20_21all = relevantgss2021 %>% filter(R_income == 20) %>% filter(RacPerception == 1 | RacPerception == 2)
income20_21 = relevantgss2021 %>% filter(R_income == 20) %>% filter(RacPerception == 1)
income24_21all = relevantgss2021 %>% filter(R_income == 24) %>% filter(RacPerception == 1 | RacPerception == 2)
income24_21 = relevantgss2021 %>% filter(R_income == 24) %>% filter(RacPerception == 1)
income26_21all = relevantgss2021 %>% filter(R_income == 26) %>% filter(RacPerception == 1 | RacPerception == 2)
income26_21 = relevantgss2021 %>% filter(R_income == 26) %>% filter(RacPerception == 1)
# Creating dataframe with percentage respondent's saying yes for various levels of income
incomeracviews = data.frame(
"IncomeRange" = c("<$1,000","$4,000-4,999","$8,000-9,999","$17,500-19,999","$30,000-34,999","$60,000-74,999",
"$130,000-149,999",">$170,000"),
"RangesBelievingDiscrimination18" = c(nrow(income1_18)/nrow(income1_18all),nrow(income4_18)/nrow(income4_18all),
nrow(income8_18)/nrow(income8_18all),nrow(income12_18)/nrow(income12_18all),
nrow(income16_18)/nrow(income16_18all),nrow(income20_18)/nrow(income20_18all),
nrow(income24_18)/nrow(income24_18all),nrow(income26_18)/nrow(income26_18all)),
"RangesBelievingDiscrimination21" = c(nrow(income1_21)/nrow(income1_21all),nrow(income4_21)/nrow(income4_21all),
nrow(income8_21)/nrow(income8_21all),nrow(income12_21)/nrow(income12_21all),
nrow(income16_21)/nrow(income16_21all),nrow(income20_21)/nrow(income20_21all),
nrow(income24_21)/nrow(income24_21all),nrow(income26_21)/nrow(income26_21all))
)
incomeracviews$IncomeRange = factor(incomeracviews$IncomeRange,
levels = c("<$1,000","$4,000-4,999","$8,000-9,999","$17,500-19,999","$30,000-34,999","$60,000-74,999",
"$130,000-149,999",">$170,000"),ordered = TRUE)
# Plotting the graph
plot_ly(data = incomeracviews,type = "bar", x = ~IncomeRange,
y = ~RangesBelievingDiscrimination18,color = I("midnightblue"),
hoverinfo = "text",
hovertext = paste("Income Range:",incomeracviews$IncomeRange,
"<br> Proportion Yes:",round(incomeracviews$RangesBelievingDiscrimination18,
digits = 3)
)) %>%
layout(title = "Are African-Americans' Lower Standards of Living Mainly Due to Discrimination?",
xaxis = list(title = "Income Ranges"),yaxis = list(title = "Proportion of Respondents Answering Yes - 2018",range = c(0,1) ) )From the bar chart alone, there does not seem to be any clear trend of perceived discrimination and income levels. Below is graphed the same interactive chart, but this time for respondents of the 2021 dataset. Note that hovering over the bars gives the exact percentage of respondents and their income range.
plot_ly(data = incomeracviews,type = "bar", x = ~IncomeRange,
y = ~RangesBelievingDiscrimination21,color = I("midnightblue"),
hoverinfo = "text",
hovertext = paste("Income Range:",incomeracviews$IncomeRange,
"<br> Proportion Yes:",round(incomeracviews$RangesBelievingDiscrimination21,
digits = 3)
)) %>%
layout(title = "Are African-Americans' Lower Standards of Living Mainly Due to Discrimination?",
xaxis = list(title = "Income Ranges"),yaxis = list(title = "Proportion of Respondents Answering Yes - 2021",range = c(0,1)) )As in the 2018 graph, there does not seem to be any observable trend. Perceived discrimination appears to have increased for all income groups except for the ranges 4,000-4,999 and 8000-9,999. Multivariate regression must be run controlling for income to see whether any significant link exists.
However, before employing regression analysis, dummy variables must be coded so that categorical values from the datasets can be used. For the first outcome variable (Perceived discrimination in society), a response of ‘No’ is coded as a 0, while a response of ‘Yes’ remains as a 1. For the second outcome variable, support for affirmative action, support, whether strong or less strong, is coded as a 1, whereas opposition is coded as a 0. For the sex of the respondent, the variable takes a value of 1 if the respondent is a woman and zero otherwise. For Race, three dummy variables have been created, representing “White”, “Black”, and “Other”.
relevantgss2018$RacPerception[relevantgss2018$RacPerception == 2] = 0
relevantgss2021$RacPerception[relevantgss2021$RacPerception ==2] = 0
relevantgss2018$Affrm_Act[relevantgss2018$Affrm_Act == 1] = 1
relevantgss2018$Affrm_Act[relevantgss2018$Affrm_Act == 2] = 1
relevantgss2018$Affrm_Act[relevantgss2018$Affrm_Act == 3] = 0
relevantgss2018$Affrm_Act[relevantgss2018$Affrm_Act == 4] = 0
relevantgss2021$Affrm_Act[relevantgss2021$Affrm_Act == 1] = 1
relevantgss2021$Affrm_Act[relevantgss2021$Affrm_Act == 2] = 1
relevantgss2021$Affrm_Act[relevantgss2021$Affrm_Act == 3] = 0
relevantgss2021$Affrm_Act[relevantgss2021$Affrm_Act == 4] = 0
# Respondent Woman = 1, Otherwise = 0
relevantgss2018$RSex[relevantgss2018$RSex == 1] = 0
relevantgss2018$RSex[relevantgss2018$RSex == 2] = 1
# Original: White = 1 || Black = 2 || 3 = Other
# Creating dummy variables for White, Black, and Other
# Will take values of 1 if the person falls in that category, and so the remaining categories will take values of 0
relevantgss2018$Black = relevantgss2018$R_race
relevantgss2018$Other = relevantgss2018$R_race
colnames(relevantgss2018)[10] = "White"
relevantgss2018$White[relevantgss2018$White == 2] = 0
relevantgss2018$White[relevantgss2018$White == 3] = 0
relevantgss2018$Black[relevantgss2018$Black == 1] = 0
relevantgss2018$Black[relevantgss2018$Black == 3] = 0
relevantgss2018$Black[relevantgss2018$Black == 2] = 1
relevantgss2018$Other[relevantgss2018$Other == 1] = 0
relevantgss2018$Other[relevantgss2018$Other == 2] = 0
relevantgss2018$Other[relevantgss2018$Other == 3] = 1
# Now doing the same for the 2021 dataset
relevantgss2021$Black = relevantgss2021$R_race
relevantgss2021$Other = relevantgss2021$R_race
colnames(relevantgss2021)[10] = "White"
relevantgss2021$White[relevantgss2021$White == 2] = 0
relevantgss2021$White[relevantgss2021$White == 3] = 0
relevantgss2021$Black[relevantgss2021$Black == 1] = 0
relevantgss2021$Black[relevantgss2021$Black == 3] = 0
relevantgss2021$Black[relevantgss2021$Black == 2] = 1
relevantgss2021$Other[relevantgss2021$Other == 1] = 0
relevantgss2021$Other[relevantgss2021$Other == 2] = 0
relevantgss2021$Other[relevantgss2021$Other == 3] = 1
# Perceptions of discrimination coded
# Affrm_Act support coded
# Gender Coded
# Race coded
# Age may remain as is
# Education may remain as is
# Political views may remain as is - as it increases from 1-7, respondent identifies as more and more conservative
# Income may remain as is - as the punched value increases, income increases - scale will suffice. Age, education, income, and political views may remain as they are, as scales. For political views, a higher value represents a more conservative identity- thus, 1 means ‘Extremely Liberal’ and 7 means ‘Extremely Conservative’.
We now run two separate regression models, both for the 2018 dataset and the 2021 dataset. One model employs the outcome variable for perceptions of racism, and the other employs the outcome variable for support or opposition for affirmative action. Age, sex, race, income, education level, and political views are controlled for. Below are displayed the results of the two models for the 2018 data. Note that asterisks denote statistical significance. Note also that added-variable plots for predictor variables for both the 2018 and 2021 data models may be found in the appendix.
model18_racperception = lm(RacPerception ~ PolViews + RSex + Age + Reduc + R_income + White + Black + Other, data = relevantgss2018)
model18_affrmact = lm(Affrm_Act ~ PolViews + RSex + Age + Reduc + R_income + White + Black + Other, data = relevantgss2018)
# Now constructing the same models, but for 2021
model21_racperception = lm(RacPerception ~ PolViews + Rsex + Age + Reduc + R_income + White + Black + Other, data = relevantgss2021)
model21_affrmact = lm(Affrm_Act ~ PolViews + Rsex + Age + Reduc + R_income + White + Black + Other, data = relevantgss2021)
# Using stargazer to print 2018 models in table form. Style used: American Political Science Review
stargazer(model18_racperception, model18_affrmact,
type = "html",
style = "apsr",
model.numbers = FALSE,
covariate.labels = c("Political Views","Sex","Age","Education Level",
"Income","Race: White","Race: Black","Race: Other"),
dep.var.labels = c("",""),
title = " <em> General Social Survey 2018 </em>" ,
column.labels = c("Belief in Existence of Widespread Discrimination Against African-Americans","Support for Affirmative Action") )| Belief in Existence of Widespread Discrimination Against African-Americans | Support for Affirmative Action | |
| Political Views | -0.097*** | -0.071*** |
| (0.011) | (0.010) | |
| Sex | 0.010 | -0.014 |
| (0.032) | (0.029) | |
| Age | -0.004*** | -0.00002 |
| (0.001) | (0.001) | |
| Education Level | 0.010* | 0.003 |
| (0.006) | (0.005) | |
| Income | -0.008*** | -0.003 |
| (0.003) | (0.003) | |
| Race: White | -0.061 | -0.065 |
| (0.049) | (0.044) | |
| Race: Black | 0.183*** | 0.186*** |
| (0.059) | (0.053) | |
| Race: Other | ||
| Constant | 1.011*** | 0.569*** |
| (0.105) | (0.095) | |
| N | 858 | 836 |
| R2 | 0.169 | 0.122 |
| Adjusted R2 | 0.162 | 0.115 |
| Residual Std. Error | 0.456 (df = 850) | 0.403 (df = 828) |
| F Statistic | 24.658*** (df = 7; 850) | 16.433*** (df = 7; 828) |
| p < .1; p < .05; p < .01 | ||
Note that the first model is based on the survey question of whether the respondent believes that the lower, on average, living standards of African-Americans in the U.S. are mainly due to discrimination, with ‘1’ meaning ‘Yes’ and ‘0’ meaning ‘No’. The second model has to do with support for affirmative action, with ‘1’ meaning the respondent supports affirmative action favoring African-Americans, and ‘0’ meaning that they do not.
The regression results for this model show that, as the political views of the respondent increased by 1 (i.e., as the respondent identified as more and more conservative), this belief decreased by a (statistically significant) value of 0.097. In other words, the results suggest that conservatives tend to disagree with the survey statement more than liberals. Therefore, the data indicates that liberals are more likely to perceive societal discrimination against African-Americans than conservatives, in-line with our initial exploratory analysis. Age has a negative and statistically significant relationship with perceived discrimination. The level of education has a significant and positive one; individuals who were more educated tended to perceive racism in society more than those less educated. Income has a statistically significant negative relationship with perceived racism; individuals with a higher income tended not to perceive racism as often as individuals with a lower income. Finally, Black respondents were far more likely to agree with the survey statement; a Black individual’s agreement with the statement was increased by a statistically significant value of 0.183. The race of the respondent being White and their sex did not have statistically significant bearings on their answers for the 2018 data models.
The regression results for the Affirmative Action model for 2018 show that as the political views of the respondent increase by 1 (i.e., as they identify as less liberal and more conservative on the scale), their support for affirmative action policies favoring African-Americans decreases by a (statistically significant) value of 0.071. Therefore, the data suggests conservatives are less likely to support affirmative action than are liberals. There was also a positive and significant relationship between a respondent’s race being Black and support for affirmative action. Sex, age, education level, income, and the race of the respondent being white did not have statistically significant effects on their answers, as is visible in the results of the regression.
Therefore, the 2018 models display negative and significant relationships between more conservative political views and support for affirmative action as well as believing that African-Americans’ lower (on average) standards of living are caused mainly by discrimination. Age and higher income had significant and negative relationships with perceived racism, education had a positive and significant relationship with perceived racism, and Black respondents tended to support affirmative action and believe in the existence of widespread discrimination far more than other respondents.
As discussed, it is plausible to propose that the George Floyd protests of 2020 may have shifted public opinion about discrimination against African-Americans. Therefore, below are displayed the regression results for the two 2021 models, based on the same questions as the 2018 models.
# Using stargazer to print 2021 models in table form. Style used: American Political Science Review
stargazer(model21_racperception, model21_affrmact,
type = "html",
style = "apsr",
model.numbers = FALSE,
covariate.labels = c("Political Views","Sex","Age","Education Level",
"Income","Race: White","Race: Black","Race: Other"),
dep.var.labels = c("",""),
title = " <em> General Social Survey 2021 </em>" ,
column.labels = c("Belief in Existence of Widespread Discrimination Against African-Americans","Support for Affirmative Action") )| Belief in Existence of Widespread Discrimination Against African-Americans | Support for Affirmative Action | |
| Political Views | -0.145*** | -0.103*** |
| (0.006) | (0.006) | |
| Sex | -0.016 | 0.027 |
| (0.018) | (0.017) | |
| Age | -0.002*** | -0.001*** |
| (0.001) | (0.001) | |
| Education Level | 0.028*** | 0.022*** |
| (0.003) | (0.003) | |
| Income | -0.003*** | -0.001 |
| (0.001) | (0.001) | |
| Race: White | -0.062** | -0.033 |
| (0.031) | (0.029) | |
| Race: Black | 0.207*** | 0.135*** |
| (0.039) | (0.036) | |
| Race: Other | ||
| Constant | 0.940*** | 0.389*** |
| (0.073) | (0.069) | |
| N | 2,257 | 2,234 |
| R2 | 0.300 | 0.201 |
| Adjusted R2 | 0.298 | 0.198 |
| Residual Std. Error | 0.415 (df = 2249) | 0.387 (df = 2226) |
| F Statistic | 137.868*** (df = 7; 2249) | 79.943*** (df = 7; 2226) |
| p < .1; p < .05; p < .01 | ||
In the perceptions of discrimination model for 2021, political views, age, income, and the respondent being Black had the same statistically significant effects as observed in 2018. However, there are some striking differences evident between the regression results for 2018 and 2021. In 2021, for the survey question “Are African-Americans’ Lower Standards of Living Mainly Due to Discrimination?”, education levels are statistically significant to a greater degree than in 2018 - in 2021, as education levels increase by 1, individuals’ perceived discrimination increases by 0.028. Additionally, in 2018, the race of the respondent being White was statistically insignificant; in 2021, however, there was a significant and negative relationship between a respondent being White and them agreeing that significant discrimination against African-Americans exists in American society.
In 2021, for the model for support for affirmative action, age displayed a negative and significant relationship with support for affirmative action, which it did not do so in 2018. Educational levels also had a significant and positive relationship with supporting affirmative action, which was not present in 2018. Political views and the respondent being Black had the same significant effects as in 2018.
Therefore, the main differences observed between the 2018 and 2021 models seem to do with education and the respondent’s race being white. In 2021, education had a more significant and positive relationship with both perceived racism and support for affirmative action. Importantly, in 2021, the respondent being White had a negative relationship with perceived racism, which did not significantly exist in 2018. The remaining effects of the various control variables are similar between 2018 and 2021, and are significant to similar extents. These results, then, may indicate that changes in public perceptions of the existence of widespread discrimination became demarcated by racial lines between 2018 and 2021.
in 2021, White individuals were less likely to perceive racism, a statistically significant relationship that did not exist in 2018, suggesting that a demarcation of perceptions and opinions on racial lines may have occurred in the midst of the societal upheaval of the protests. Additionally, education displayed a far more significant positive relationship with both outcome variables in 2021 than it did in 2018. Increases in political conservatism, age, and income were all significantly and negatively related to perceptions of racism for both years, with increases in political conservatism being identically related to support for affirmative action in 2018 and 2021. Thus perceived discrimination as one moved from conservative to moderate to liberal became far higher in 2021, a result reminiscent of another similar study by Reny and Newman21.
It is interesting how the death of Floyd and the large-scale demonstrations and discourse that followed may have pushed White individuals towards a negative and significant relationship with perceived racism. Further research is required about how the Floyd protests may have racialized attitudes towards institutional racism in this manner, and the role of the media may also be pertinent to consider when researching the causes of such a demarcation.
Therefore, there has been no clear, unidirectional shift in public perceptions of the existence of substantial racial discrimination in the U.S. Rather, there appears to have been a shift distinguished by racial lines, and those with higher levels of education have experienced a significant increase in both perceptions of racism and support for affirmative action.
Below are plotted added-variable plots for each of the statistically significant variables employed in the 2018 models. The red lines display the association between the predictor and response variable holding all other predictor variables constant. The gradient of the lines matches the signs of the estimated coefficients of the predictor variables.
avPlots(model18_racperception, terms=~PolViews+Black+Age+Reduc+R_income, pch=4, lwd=2,col.lines="red", main = "Added-Variable Plots: 2018, Perceived Racism", grid=FALSE)avPlots(model18_affrmact,
terms=~PolViews+Black, pch=4, lwd=2,col.lines="red", main = "Added-Variable Plots: 2021, Support for Affirmative Action", grid=FALSE)Below are plotted the added-variable plots for the 2021 models.
avPlots(model21_racperception, terms=~PolViews + White + Black+Age+Reduc+R_income, pch=4, lwd=2,col.lines="red", main = "Added-Variable Plots: 2021, Perceived Racism", grid=FALSE)avPlots(model21_affrmact, terms=~PolViews + Black + Age + Reduc, pch=4, lwd=2,col.lines="red", main = "Added-Variable Plots: 2021, Support for Affirmative Action", grid=FALSE)Data was taken from the 2018 and 2021 releases of the General Social Survey administered by NORC at the University of Chicago. The exact questions of the outcome variables (perceived discrimination and support for affirmative action) asked to respondents are as presented below:
Variable: RACDIF1. Label : On the average (Blacks/African-Americans) have worse jobs, income, and housing than white people. Do you think these differences are…Mainly due to discrimination?
Variable: AFFRMACT. Label: Some people say that because of past discrimination, Blacks should be given preference in hiring and promotion. Others say that such preference in hiring and promotion of Blacks is wrong because it discriminates against Whites. What about your opinion? Are you for or against preferential hiring and promotion of Blacks? IF FAVORS: Do you favor preference in hiring and promotion strongly or not strongly? IF OPPOSES: Do you oppose preference in hiring and promotion strongly or not strongly?
One limitation of the study may stem from the data employed, which used Likert scales for some of the variables. This may have induced central tendency bias, social desirability bias, or acquiescence bias into the answers, which may have slightly affected the results. Additionally, different places in the U.S experienced differing intensities of protests; thus, the research may benefit if the various places where respondents live, and the intensity of the movement there, are taken into account. Additionally, the role of the media, especially partisan media such as Fox News, was not taken into account but should have been; it is possible, for example, that the impact of the Floyd protests was partially dictated by the media an individual consumed, which would depend on their preexisting political views, and this therefore would have been a potential confounder. For example, the impact of the protests may have been less for a conservative individual consuming Fox News content, a channel that has been known to be anti-BLM protests22,23.
1: General Social Survey Data: https://gss.norc.org/get-the-data
2: U.S. States Data: https://www.census.gov/geographies/mapping-files/time-series/geo/carto-boundary-file.html
3: Protest Participants Data: https://sites.google.com/view/crowdcountingconsortium/view-download-the-data?authuser=0
1: https://www.washingtonpost.com/nation/2021/04/08/derek-chauvin-trial-2/
2: https://www.nytimes.com/interactive/2020/07/03/us/george-floyd-protests-crowd-size.html
4: https://dot.la/george-floyd-video-2646171522.html?utm_campaign=post-teaser&utm_content=i87yytb3
6: https://www.papers.ssrn.com/sol3/papers.cfm?abstract_id=3764867
8: https://www.washingtonpost.com/graphics/2020/politics/protests-reckoning/
10: https://www.jstor.org/stable/4007601#metadata_info_tab_contents
14: https://onlinelibrary.wiley.com/doi/epdf/10.1111/ajps.12384
15: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3809877
16: https://www.tandfonline.com/doi/full/10.1080/07418825.2018.1516797
18: https://www.tandfonline.com/doi/full/10.1080/10304312.2018.1525920
20: https://journals.sagepub.com/doi/epdf/10.1177/19485506211056493
22: https://www.washingtonpost.com/nation/2020/06/09/fox-black-lives-carlson/