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.