After beginning the 2021 NFL season 1-7, the Miami Dolphins ended the year 8-1 to finish with a record of 9-8. The Dolphins were the first team ever to lose seven straight games and win seven straight games in the same year. Despite the massive success that the team saw at the end of the year, on January 10th, 2022 the Dolphins fired their Head Coach, Brian Flores.

On February 1st, 2022, Brian Flores filed a class-action lawsuit against the NFL, New York Giants, Denver Broncos and Miami Dolphins organization. The suit alleged that text messages that Flores received from New England Patriots Head Coach, Bill Belichick show that the Giants hired their new head coach before interviewing any minority candidates. Flores’ interview with the team was scheduled for January 27th, and his text message exchange with Belichick took place on January 23rd. On April 7th, 2022 Flores’ lawyers announced that two more former NFL coaches were joining Flores in his lawsuit. One of the coaches, Steve Wilks, was discriminated against as a “bridge coach” who was “not given any meaningful chance to succeed.”

This Twitter Sentiment analysis will look at the conversation on Twitter about the lawsuits that Flores and Wilks have brought against their respective teams and the NFL. Ever since Colin Kaepernick first kneeled for the national anthem, race has been an extremely pertinent topic within the NFL community. The analysis will include an overall count of the sentiment of tweets taken from the two dates that the lawsuits were announced, a breakdown of how many times some specific words were used and a word cloud and table of the most frequent words used in the tweets.

## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✔ ggplot2 3.3.6     ✔ purrr   0.3.4
## ✔ tibble  3.1.7     ✔ dplyr   1.0.9
## ✔ tidyr   1.2.0     ✔ stringr 1.4.0
## ✔ readr   2.1.2     ✔ forcats 0.5.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()

The code below shows the total number of tweets that were about Brian Flores on February 1st and the overall sentiment of those tweets.

february_first <- read_excel("~/Downloads/february-first.xlsx")
february_first %>% 
  count(Sentiment, sort = TRUE)
## # A tibble: 4 × 2
##   Sentiment     n
##   <chr>     <int>
## 1 Neutral   10043
## 2 Negative   8889
## 3 Positive   1067
## 4 Not Rated     1

This code breaks down how many times the specific words below appeared in the tweets.

flores1_sentiment %>% 
 filter(word %in% c("race", "racism", "black", "african-american", "white", "caucasian")) %>% 
count(word, sort = TRUE)
## # A tibble: 1 × 2
##   word       n
##   <chr>  <int>
## 1 racism  5619

This code breaks down the most common words into a word cloud to help visualize.

february_first %>% 
  unnest_tokens(word, `Hit Sentence`) %>% 
  anti_join(stop_words) %>% 
  
  filter(!word %in% c('https', "t.co", "rt")) %>% 
  count(word, sort = TRUE) %>% 
  wordcloud2()
## Joining, by = "word"

This code breaks down the most common words and displays them in a table.

february_first %>% 
  unnest_tokens(word, `Hit Sentence`) %>% 
  anti_join(stop_words) %>% 
  # inner_join(get_sentiments('afinn')) %>% 
  filter(!word %in% c('https', "t.co", "rt", "brian", "flores")) %>% 
  count(word, sort = TRUE) %>% 
  arrange(desc(n))  %>% 
  head(20) %>% 
  knitr::kable()
## Joining, by = "word"
word n
lawsuit 23634
nfl 10754
giants 10742
bill 8501
belichick 8223
ross 7226
texts 6359
racism 5619
dolphins 5100
coach 5068
hiring 4541
qt 4521
coaching 4227
team 4153
action 4148
filed 4114
class 3942
loss 3891
alleges 3881
miami 3862

The next part of the analysis is focused on Steve Wilks. The code below shows the total number of tweets that were about Wilks on April, 7th and the overall sentiment of those tweets.

april_seventh <- read_excel("~/Downloads/steve_wilks.xlsx")
april_seventh %>% 
   count(Sentiment, sort = TRUE)
## # A tibble: 4 × 2
##   Sentiment     n
##   <chr>     <int>
## 1 Negative   3641
## 2 Neutral    2437
## 3 Positive     74
## 4 Not Rated    59

This code breaks down how many times the specific words below appeared in the tweets.

wilks_sentiment %>% 
  count(word, sort = TRUE)
## # A tibble: 363 × 2
##    word        n
##    <chr>   <int>
##  1 lawsuit  4844
##  2 fired     540
##  3 join      343
##  4 chance    308
##  5 suing     239
##  6 support   144
##  7 accused   133
##  8 racist    127
##  9 applaud   121
## 10 worried    90
## # … with 353 more rows
wilks_sentiment %>% 
 filter(word %in% c("race", "racism", "black", "african-american", "white", "caucasian")) %>% 
count(word, sort = TRUE)
## # A tibble: 1 × 2
##   word       n
##   <chr>  <int>
## 1 racism    88

This code breaks down the most common words into a word cloud to help visualize.

april_seventh %>% 
  unnest_tokens(word, `Hit Sentence`) %>% 
  anti_join(stop_words) %>% 
 # inner_join(get_sentiments('afinn')) %>% 
  filter(!word %in% c('https', "t.co", "rt")) %>% 
  count(word, sort = TRUE) %>% 
  wordcloud2()
## Joining, by = "word"

This code breaks down the most common words and displays them in a table.

april_seventh %>% 
  unnest_tokens(word, `Hit Sentence`) %>% 
  anti_join(stop_words) %>% 
  inner_join(get_sentiments('afinn')) %>% 
  filter(!word %in% c('https', "t.co", "rt", "brian", "flores")) %>% 
  count(word, sort = TRUE) %>% 
  arrange(desc(n))  %>% 
  head(20) %>% 
  knitr::kable()
## Joining, by = "word"
## Joining, by = "word"
word n
lawsuit 4844
fired 540
join 343
chance 308
suing 239
support 144
accused 133
racist 127
applaud 121
worried 90
racism 88
bad 83
firing 65
worry 63
fucked 53
mess 52
fire 46
diamond 45
worst 44
accusing 40

This analysis shows that the vast majority of tweets about Wilks and Flores held a negative sentiment. For both conversations surrounding Wilks and Flores, “racism” was one of the most frequently included words in tweets. Additionally, the word “racist” was frequently used in tweets about Wilks. This analysis proves that racism is a topic that is going to continue to be a topic in NFL conversations until something significant is done to stop it’s prevalency within the league. Yes, the NFL in recent years has done lots of programming to combat racism within the world. For example, in 2020, the league allowed players to put a phrase or slogan on the back of their helmets. Many players used the phrase “End Racism”. However, this analysis shows that there is still a lot to be done to do away with racism between teams and coaches/players.