This report is an exploration of artist Tyler, the Creator’s throughout his careeer.

Warning: Explicit Content

Tyler, the Creator released his first album, B*stard, in 2009. Shortly after that release, Tyler started to get criticized for his controversial lyrics. As his career continued to develope, so did Tyler’s lyrics. Over the past 10+ years, Tyler has changed his rap from horrorcore style to melody-focused and jazz-fused sounds. The goal of this report to analyze the changes, if any, in Tyler, the Creator’s word sentiment and song quality.

The first step was to download the proper packages
library(tidyverse)
library(tidytext)
library(genius)
library(devtools)
library(wordcloud2)
library(tidyverse)
library(ggjoy)
library(spotifyr)
library(ggthemes)
library(readr)

Starting from oldest to newest, I analyzed the ten most used words, the sentiment of the words and a word cloud within Tyler, the Creator’s albums.

Bastard - 2009

tyler_bastard %>%
  unnest_tokens(word, lyric) -> tyler_words_bastard
tyler_words_bastard %>%
  select(word) %>%
  anti_join(stop_words) %>%
  count(word, sort = TRUE) %>%
  inner_join(get_sentiments("bing")) %>% 
  inner_join(get_sentiments("afinn")) %>% 
  head(10) %>%
  knitr::kable()
## Joining, by = "word"
## Joining, by = "word"
## Joining, by = "word"
word n sentiment value
shit 9 negative -4
bitch 4 negative -5
fuck 3 negative -4
love 3 positive 3
mad 2 negative -3
miss 2 negative -2
nice 2 positive 3
rich 2 positive 2
cry 1 negative -1
damn 1 negative -4
tyler_words_bastard %>%
  anti_join(stop_words) %>%
  count(word) %>%
  arrange(desc(n)) %>%
  wordcloud2()
## Joining, by = "word"
tyler_words_bastard%>%
  select(word) %>%
  anti_join(stop_words) %>%
  count(word, sort = TRUE) %>%
  head(10) %>%
  knitr::kable()
## Joining, by = "word"
word n
slow 15
french 12
NA 12
gon 9
shit 9
check 7
bass 5
niggas 5
bitch 4
nigga 4

Goblin - 2011

tyler_goblin %>%
  unnest_tokens(word, lyric) -> tyler_words_goblin
tyler_words_goblin %>%
  select(word) %>%
  anti_join(stop_words) %>%
  count(word, sort = TRUE) %>%
  inner_join(get_sentiments("bing")) %>% 
  inner_join(get_sentiments("afinn")) %>% 
  head(10) %>%
  knitr::kable()
## Joining, by = "word"
## Joining, by = "word"
## Joining, by = "word"
word n sentiment value
fuck 38 negative -4
fucking 27 negative -4
shit 17 negative -4
bitch 16 negative -5
hard 9 negative -1
dick 7 negative -4
damn 6 negative -4
kill 6 negative -3
love 5 positive 3
odd 4 negative -2
tyler_words_goblin %>%
  anti_join(stop_words) %>%
  count(word) %>%
  arrange(desc(n)) %>%
  wordcloud2()
## Joining, by = "word"
tyler_words_goblin%>%
  select(word) %>%
  anti_join(stop_words) %>%
  count(word, sort = TRUE) %>%
  head(10) %>%
  knitr::kable()
## Joining, by = "word"
word n
fuck 38
fucking 27
wolf 24
gang 18
shit 17
bitch 16
fuckin 16
nigga 14
em 11
hard 9

Wolf - 2013

tyler_wolf %>%
  unnest_tokens(word, lyric) -> tyler_words_wolf
tyler_words_wolf %>%
  select(word) %>%
  anti_join(stop_words) %>%
  count(word, sort = TRUE) %>%
  inner_join(get_sentiments("bing")) %>% 
  inner_join(get_sentiments("afinn")) %>% 
  head(10) %>%
  knitr::kable()
## Joining, by = "word"
## Joining, by = "word"
## Joining, by = "word"
word n sentiment value
fuck 26 negative -4
bitch 12 negative -5
fucking 12 negative -4
shit 9 negative -4
love 4 positive 3
bad 3 negative -3
damn 3 negative -4
stuck 3 negative -2
cool 2 positive 1
dick 2 negative -4
tyler_words_wolf %>%
  anti_join(stop_words) %>%
  count(word) %>%
  arrange(desc(n)) %>%
  wordcloud2()
## Joining, by = "word"
tyler_words_wolf%>%
  select(word) %>%
  anti_join(stop_words) %>%
  count(word, sort = TRUE) %>%
  head(10) %>%
  knitr::kable()
## Joining, by = "word"
word n
fuck 26
nigga 18
bitch 12
fucking 12
tamale 12
NA 11
niggas 10
golf 9
hope 9
shit 9

Cherry Bomb - 2015

tyler_cherry %>%
  unnest_tokens(word, lyric) -> tyler_words_cherry
tyler_words_cherry %>%
  select(word) %>%
  anti_join(stop_words) %>%
  count(word, sort = TRUE) %>%
  inner_join(get_sentiments("bing")) %>% 
  inner_join(get_sentiments("afinn")) %>% 
  head(10) %>%
  knitr::kable()
## Joining, by = "word"
## Joining, by = "word"
## Joining, by = "word"
word n sentiment value
fucking 11 negative -4
fuck 7 negative -4
favorite 5 positive 2
bitch 4 negative -5
joy 4 positive 3
shit 4 negative -4
bomb 2 negative -1
dead 2 negative -3
free 2 positive 1
hate 2 negative -3
tyler_words_cherry %>%
  anti_join(stop_words) %>%
  count(word) %>%
  arrange(desc(n)) %>%
  wordcloud2()
## Joining, by = "word"
tyler_words_cherry%>%
  select(word) %>%
  anti_join(stop_words) %>%
  count(word, sort = TRUE) %>%
  head(10) %>%
  knitr::kable()
## Joining, by = "word"
word n
fucking 11
NA 11
niggas 10
fuck 7
wings 7
yellow 6
favorite 5
fly 5
y’all 5
bitch 4

Flower Boy - 2017

tyler_flower %>%
  unnest_tokens(word, lyric) -> tyler_words_flower
tyler_words_flower %>%
  select(word) %>%
  anti_join(stop_words) %>%
  count(word, sort = TRUE) %>%
  inner_join(get_sentiments("bing")) %>% 
  inner_join(get_sentiments("afinn")) %>% 
  head(10) %>%
  knitr::kable()
## Joining, by = "word"
## Joining, by = "word"
## Joining, by = "word"
word n sentiment value
fuck 6 negative -4
sick 5 negative -2
fun 3 positive 4
bitch 2 negative -5
mad 2 negative -3
shit 2 negative -4
stuck 2 negative -2
awesome 1 positive 4
awkward 1 negative -2
bad 1 negative -3
tyler_words_flower %>%
  anti_join(stop_words) %>%
  count(word) %>%
  arrange(desc(n)) %>%
  wordcloud2()
## Joining, by = "word"
tyler_words_flower%>%
  select(word) %>%
  anti_join(stop_words) %>%
  count(word, sort = TRUE) %>%
  head(10) %>%
  knitr::kable()
## Joining, by = "word"
word n
call 20
time 17
boredom 12
nigga 11
uh 10
na 9
NA 8
yeah 7
boy 6
fuck 6

Igor - 2019

tyler_igor %>%
  unnest_tokens(word, lyric) -> tyler_words_igor
tyler_words_igor %>%
  select(word) %>%
  anti_join(stop_words) %>%
  count(word, sort = TRUE) %>%
  inner_join(get_sentiments("bing")) %>% 
  inner_join(get_sentiments("afinn")) %>% 
  head(10) %>%
  knitr::kable()
## Joining, by = "word"
## Joining, by = "word"
## Joining, by = "word"
word n sentiment value
love 7 positive 3
fuck 5 negative -4
shit 3 negative -4
bitch 2 negative -5
fallen 2 negative -2
fine 2 positive 2
heaven 2 positive 2
anxiety 1 negative -2
distraction 1 negative -2
dread 1 negative -2
tyler_words_igor %>%
  anti_join(stop_words) %>%
  count(word) %>%
  arrange(desc(n)) %>%
  wordcloud2()
## Joining, by = "word"
tyler_words_igor%>%
  select(word) %>%
  anti_join(stop_words) %>%
  count(word, sort = TRUE) %>%
  head(10) %>%
  knitr::kable()
## Joining, by = "word"
word n
magic 24
skate 19
runnin 18
leave 14
time 13
love 7
NA 7
love’s 6
yeah 6
eyes 5

CALL ME IF YOU GET LOST - 2021

tyler_call %>%
  unnest_tokens(word, lyric) -> tyler_words_call
tyler_words_call %>%
  select(word) %>%
  anti_join(stop_words) %>%
  count(word, sort = TRUE) %>%
  inner_join(get_sentiments("bing")) %>% 
  inner_join(get_sentiments("afinn")) %>% 
  head(10) %>%
  knitr::kable()
## Joining, by = "word"
## Joining, by = "word"
## Joining, by = "word"
word n sentiment value
shit 11 negative -4
lost 7 negative -3
woo 7 positive 3
bitch 5 negative -5
fuck 4 negative -4
beautiful 3 positive 3
healthy 2 positive 2
love 2 positive 3
sweet 2 positive 2
amazing 1 positive 4
tyler_words_call %>%
  anti_join(stop_words) %>%
  count(word) %>%
  arrange(desc(n)) %>%
  wordcloud2()
## Joining, by = "word"
tyler_words_call%>%
  select(word) %>%
  anti_join(stop_words) %>%
  count(word, sort = TRUE) %>%
  head(10) %>%
  knitr::kable()
## Joining, by = "word"
word n
yeah 15
shit 11
NA 11
call 9
lost 7
niggas 7
uh 7
woo 7
baby 6
nigga 6

After exploring changes in Tyler, the Creator’s most common words, I want to see if there were any differences in the valence of his albums.

Since Genius did not have this information, I used my Spotify API access keys to download Tyler, the Creator data that would include the valence information.

tylerspot <- get_artist_audio_features('tyler the creator')
tylerspot$album_name
##   [1] "CALL ME IF YOU GET LOST"     "CALL ME IF YOU GET LOST"    
##   [3] "CALL ME IF YOU GET LOST"     "CALL ME IF YOU GET LOST"    
##   [5] "CALL ME IF YOU GET LOST"     "CALL ME IF YOU GET LOST"    
##   [7] "CALL ME IF YOU GET LOST"     "CALL ME IF YOU GET LOST"    
##   [9] "CALL ME IF YOU GET LOST"     "CALL ME IF YOU GET LOST"    
##  [11] "CALL ME IF YOU GET LOST"     "CALL ME IF YOU GET LOST"    
##  [13] "CALL ME IF YOU GET LOST"     "CALL ME IF YOU GET LOST"    
##  [15] "CALL ME IF YOU GET LOST"     "CALL ME IF YOU GET LOST"    
##  [17] "IGOR"                        "IGOR"                       
##  [19] "IGOR"                        "IGOR"                       
##  [21] "IGOR"                        "IGOR"                       
##  [23] "IGOR"                        "IGOR"                       
##  [25] "IGOR"                        "IGOR"                       
##  [27] "IGOR"                        "IGOR"                       
##  [29] "Flower Boy"                  "Flower Boy"                 
##  [31] "Flower Boy"                  "Flower Boy"                 
##  [33] "Flower Boy"                  "Flower Boy"                 
##  [35] "Flower Boy"                  "Flower Boy"                 
##  [37] "Flower Boy"                  "Flower Boy"                 
##  [39] "Flower Boy"                  "Flower Boy"                 
##  [41] "Flower Boy"                  "Flower Boy"                 
##  [43] "Cherry Bomb"                 "Cherry Bomb"                
##  [45] "Cherry Bomb"                 "Cherry Bomb"                
##  [47] "Cherry Bomb"                 "Cherry Bomb"                
##  [49] "Cherry Bomb"                 "Cherry Bomb"                
##  [51] "Cherry Bomb"                 "Cherry Bomb"                
##  [53] "Cherry Bomb"                 "Cherry Bomb"                
##  [55] "Cherry Bomb"                 "Cherry Bomb + Instrumentals"
##  [57] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [59] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [61] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [63] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [65] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [67] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [69] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [71] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [73] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [75] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [77] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [79] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [81] "Cherry Bomb + Instrumentals" "Live At Splash!"            
##  [83] "Live At Splash!"             "Live At Splash!"            
##  [85] "Live At Splash!"             "Live At Splash!"            
##  [87] "Live At Splash!"             "Live At Splash!"            
##  [89] "Live At Splash!"             "Live At Splash!"            
##  [91] "Live At Splash!"             "Live At Splash!"            
##  [93] "Live At Splash!"             "Live At Splash!"            
##  [95] "Live At Splash!"             "Live At Splash!"            
##  [97] "Live At Splash!"             "Live At Splash!"            
##  [99] "Live At Splash!"             "Live At Splash!"            
## [101] "Live At Splash!"             "Live At Splash!"            
## [103] "Live At Splash!"             "Live At Splash!"            
## [105] "Live At Splash!"             "Live At Splash!"            
## [107] "Live At Splash!"             "Live At Splash!"            
## [109] "Live At Splash!"             "Live At Splash!"            
## [111] "Live At Splash!"             "Live At Splash!"            
## [113] "Wolf"                        "Wolf"                       
## [115] "Wolf"                        "Wolf"                       
## [117] "Wolf"                        "Wolf"                       
## [119] "Wolf"                        "Wolf"                       
## [121] "Wolf"                        "Wolf"                       
## [123] "Wolf"                        "Wolf"                       
## [125] "Wolf"                        "Wolf"                       
## [127] "Wolf"                        "Wolf"                       
## [129] "Wolf"                        "Wolf"                       
## [131] "Goblin"                      "Goblin"                     
## [133] "Goblin"                      "Goblin"                     
## [135] "Goblin"                      "Goblin"                     
## [137] "Goblin"                      "Goblin"                     
## [139] "Goblin"                      "Goblin"                     
## [141] "Goblin"                      "Goblin"                     
## [143] "Goblin"                      "Goblin"                     
## [145] "Goblin"                      "Goblin"                     
## [147] "Goblin"                      "Goblin"                     
## [149] "Goblin"                      "Goblin"                     
## [151] "Goblin"                      "Goblin"                     
## [153] "Goblin"                      "Goblin"                     
## [155] "Goblin"                      "Goblin"                     
## [157] "Goblin"                      "Goblin"                     
## [159] "Goblin"                      "Goblin"                     
## [161] "Goblin"                      "Goblin"                     
## [163] "Goblin"                      "Goblin"                     
## [165] "Goblin"                      "Goblin"                     
## [167] "Goblin"                      "Goblin"                     
## [169] "Goblin"                      "Goblin"                     
## [171] "Goblin"                      "Goblin"                     
## [173] "Goblin"                      "Goblin"                     
## [175] "Goblin"                      "Goblin"                     
## [177] "Goblin"                      "Goblin"                     
## [179] "Goblin"                      "Goblin"                     
## [181] "Goblin"                      "Goblin"                     
## [183] "Goblin"                      "Goblin"                     
## [185] "Goblin"                      "Goblin"                     
## [187] "Goblin"                      "Goblin"                     
## [189] "Goblin"                      "Goblin"                     
## [191] "Goblin"                      "Goblin"                     
## [193] "Goblin"                      "Goblin"                     
## [195] "Goblin"                      "Goblin"
tylerspot$album_name
##   [1] "CALL ME IF YOU GET LOST"     "CALL ME IF YOU GET LOST"    
##   [3] "CALL ME IF YOU GET LOST"     "CALL ME IF YOU GET LOST"    
##   [5] "CALL ME IF YOU GET LOST"     "CALL ME IF YOU GET LOST"    
##   [7] "CALL ME IF YOU GET LOST"     "CALL ME IF YOU GET LOST"    
##   [9] "CALL ME IF YOU GET LOST"     "CALL ME IF YOU GET LOST"    
##  [11] "CALL ME IF YOU GET LOST"     "CALL ME IF YOU GET LOST"    
##  [13] "CALL ME IF YOU GET LOST"     "CALL ME IF YOU GET LOST"    
##  [15] "CALL ME IF YOU GET LOST"     "CALL ME IF YOU GET LOST"    
##  [17] "IGOR"                        "IGOR"                       
##  [19] "IGOR"                        "IGOR"                       
##  [21] "IGOR"                        "IGOR"                       
##  [23] "IGOR"                        "IGOR"                       
##  [25] "IGOR"                        "IGOR"                       
##  [27] "IGOR"                        "IGOR"                       
##  [29] "Flower Boy"                  "Flower Boy"                 
##  [31] "Flower Boy"                  "Flower Boy"                 
##  [33] "Flower Boy"                  "Flower Boy"                 
##  [35] "Flower Boy"                  "Flower Boy"                 
##  [37] "Flower Boy"                  "Flower Boy"                 
##  [39] "Flower Boy"                  "Flower Boy"                 
##  [41] "Flower Boy"                  "Flower Boy"                 
##  [43] "Cherry Bomb"                 "Cherry Bomb"                
##  [45] "Cherry Bomb"                 "Cherry Bomb"                
##  [47] "Cherry Bomb"                 "Cherry Bomb"                
##  [49] "Cherry Bomb"                 "Cherry Bomb"                
##  [51] "Cherry Bomb"                 "Cherry Bomb"                
##  [53] "Cherry Bomb"                 "Cherry Bomb"                
##  [55] "Cherry Bomb"                 "Cherry Bomb + Instrumentals"
##  [57] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [59] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [61] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [63] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [65] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [67] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [69] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [71] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [73] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [75] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [77] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [79] "Cherry Bomb + Instrumentals" "Cherry Bomb + Instrumentals"
##  [81] "Cherry Bomb + Instrumentals" "Live At Splash!"            
##  [83] "Live At Splash!"             "Live At Splash!"            
##  [85] "Live At Splash!"             "Live At Splash!"            
##  [87] "Live At Splash!"             "Live At Splash!"            
##  [89] "Live At Splash!"             "Live At Splash!"            
##  [91] "Live At Splash!"             "Live At Splash!"            
##  [93] "Live At Splash!"             "Live At Splash!"            
##  [95] "Live At Splash!"             "Live At Splash!"            
##  [97] "Live At Splash!"             "Live At Splash!"            
##  [99] "Live At Splash!"             "Live At Splash!"            
## [101] "Live At Splash!"             "Live At Splash!"            
## [103] "Live At Splash!"             "Live At Splash!"            
## [105] "Live At Splash!"             "Live At Splash!"            
## [107] "Live At Splash!"             "Live At Splash!"            
## [109] "Live At Splash!"             "Live At Splash!"            
## [111] "Live At Splash!"             "Live At Splash!"            
## [113] "Wolf"                        "Wolf"                       
## [115] "Wolf"                        "Wolf"                       
## [117] "Wolf"                        "Wolf"                       
## [119] "Wolf"                        "Wolf"                       
## [121] "Wolf"                        "Wolf"                       
## [123] "Wolf"                        "Wolf"                       
## [125] "Wolf"                        "Wolf"                       
## [127] "Wolf"                        "Wolf"                       
## [129] "Wolf"                        "Wolf"                       
## [131] "Goblin"                      "Goblin"                     
## [133] "Goblin"                      "Goblin"                     
## [135] "Goblin"                      "Goblin"                     
## [137] "Goblin"                      "Goblin"                     
## [139] "Goblin"                      "Goblin"                     
## [141] "Goblin"                      "Goblin"                     
## [143] "Goblin"                      "Goblin"                     
## [145] "Goblin"                      "Goblin"                     
## [147] "Goblin"                      "Goblin"                     
## [149] "Goblin"                      "Goblin"                     
## [151] "Goblin"                      "Goblin"                     
## [153] "Goblin"                      "Goblin"                     
## [155] "Goblin"                      "Goblin"                     
## [157] "Goblin"                      "Goblin"                     
## [159] "Goblin"                      "Goblin"                     
## [161] "Goblin"                      "Goblin"                     
## [163] "Goblin"                      "Goblin"                     
## [165] "Goblin"                      "Goblin"                     
## [167] "Goblin"                      "Goblin"                     
## [169] "Goblin"                      "Goblin"                     
## [171] "Goblin"                      "Goblin"                     
## [173] "Goblin"                      "Goblin"                     
## [175] "Goblin"                      "Goblin"                     
## [177] "Goblin"                      "Goblin"                     
## [179] "Goblin"                      "Goblin"                     
## [181] "Goblin"                      "Goblin"                     
## [183] "Goblin"                      "Goblin"                     
## [185] "Goblin"                      "Goblin"                     
## [187] "Goblin"                      "Goblin"                     
## [189] "Goblin"                      "Goblin"                     
## [191] "Goblin"                      "Goblin"                     
## [193] "Goblin"                      "Goblin"                     
## [195] "Goblin"                      "Goblin"
tylerspot %>%
  group_by(album_name) %>%
  filter(!album_name %in% c("Live At Splash!", "Cherry Bomb + Instrumentals")) -> tyler_filtered
tyler_filtered$album_name
##   [1] "CALL ME IF YOU GET LOST" "CALL ME IF YOU GET LOST"
##   [3] "CALL ME IF YOU GET LOST" "CALL ME IF YOU GET LOST"
##   [5] "CALL ME IF YOU GET LOST" "CALL ME IF YOU GET LOST"
##   [7] "CALL ME IF YOU GET LOST" "CALL ME IF YOU GET LOST"
##   [9] "CALL ME IF YOU GET LOST" "CALL ME IF YOU GET LOST"
##  [11] "CALL ME IF YOU GET LOST" "CALL ME IF YOU GET LOST"
##  [13] "CALL ME IF YOU GET LOST" "CALL ME IF YOU GET LOST"
##  [15] "CALL ME IF YOU GET LOST" "CALL ME IF YOU GET LOST"
##  [17] "IGOR"                    "IGOR"                   
##  [19] "IGOR"                    "IGOR"                   
##  [21] "IGOR"                    "IGOR"                   
##  [23] "IGOR"                    "IGOR"                   
##  [25] "IGOR"                    "IGOR"                   
##  [27] "IGOR"                    "IGOR"                   
##  [29] "Flower Boy"              "Flower Boy"             
##  [31] "Flower Boy"              "Flower Boy"             
##  [33] "Flower Boy"              "Flower Boy"             
##  [35] "Flower Boy"              "Flower Boy"             
##  [37] "Flower Boy"              "Flower Boy"             
##  [39] "Flower Boy"              "Flower Boy"             
##  [41] "Flower Boy"              "Flower Boy"             
##  [43] "Cherry Bomb"             "Cherry Bomb"            
##  [45] "Cherry Bomb"             "Cherry Bomb"            
##  [47] "Cherry Bomb"             "Cherry Bomb"            
##  [49] "Cherry Bomb"             "Cherry Bomb"            
##  [51] "Cherry Bomb"             "Cherry Bomb"            
##  [53] "Cherry Bomb"             "Cherry Bomb"            
##  [55] "Cherry Bomb"             "Wolf"                   
##  [57] "Wolf"                    "Wolf"                   
##  [59] "Wolf"                    "Wolf"                   
##  [61] "Wolf"                    "Wolf"                   
##  [63] "Wolf"                    "Wolf"                   
##  [65] "Wolf"                    "Wolf"                   
##  [67] "Wolf"                    "Wolf"                   
##  [69] "Wolf"                    "Wolf"                   
##  [71] "Wolf"                    "Wolf"                   
##  [73] "Wolf"                    "Goblin"                 
##  [75] "Goblin"                  "Goblin"                 
##  [77] "Goblin"                  "Goblin"                 
##  [79] "Goblin"                  "Goblin"                 
##  [81] "Goblin"                  "Goblin"                 
##  [83] "Goblin"                  "Goblin"                 
##  [85] "Goblin"                  "Goblin"                 
##  [87] "Goblin"                  "Goblin"                 
##  [89] "Goblin"                  "Goblin"                 
##  [91] "Goblin"                  "Goblin"                 
##  [93] "Goblin"                  "Goblin"                 
##  [95] "Goblin"                  "Goblin"                 
##  [97] "Goblin"                  "Goblin"                 
##  [99] "Goblin"                  "Goblin"                 
## [101] "Goblin"                  "Goblin"                 
## [103] "Goblin"                  "Goblin"                 
## [105] "Goblin"                  "Goblin"                 
## [107] "Goblin"                  "Goblin"                 
## [109] "Goblin"                  "Goblin"                 
## [111] "Goblin"                  "Goblin"                 
## [113] "Goblin"                  "Goblin"                 
## [115] "Goblin"                  "Goblin"                 
## [117] "Goblin"                  "Goblin"                 
## [119] "Goblin"                  "Goblin"                 
## [121] "Goblin"                  "Goblin"                 
## [123] "Goblin"                  "Goblin"                 
## [125] "Goblin"                  "Goblin"                 
## [127] "Goblin"                  "Goblin"                 
## [129] "Goblin"                  "Goblin"                 
## [131] "Goblin"                  "Goblin"                 
## [133] "Goblin"                  "Goblin"                 
## [135] "Goblin"                  "Goblin"                 
## [137] "Goblin"                  "Goblin"                 
## [139] "Goblin"
tyler_filtered %>%
  ggplot(aes(valence, album_name, fill = ..x..)) +
  geom_density_ridges_gradient()
## Picking joint bandwidth of 0.0877

After, looking at the valence between his albums, I wanted to see if energy, the dance ability, and tempo changed as well throughout his albums. Instead of doing song by song in each album, I imported the data into an Excel sheet and calculated the averages for each album. From there, I imported the averages into R Studio and used a heat map to analyze these qualities between albums. The heat maps code used were created by http://student.elon.edu/bwilliamson5/FinalProject/index.html

Tyler_averages <- read_csv("~/Documents/Tyler averages.csv")
## 
## ── Column specification ────────────────────────────────────────────────────────
## cols(
##   album = col_character(),
##   energy = col_double(),
##   danceiability = col_double(),
##   tempo = col_double()
## )
Tyler_averages %>%
  filter(album %in% c("Wolf", "Igor", "Goblin", "Flower Boy", "Cherry Bomb", "CALL ME IF YOU GET LOST")) -> tyler_avg_filtered

ggplot(data = tyler_avg_filtered, aes (x = energy, y = album))+
  geom_tile(aes(fill= energy, height=1 , width=.1),colour="red") +
  scale_y_discrete(breaks = Tyler_averages$album) +
  scale_fill_gradient2(low = "#33F0FF", midpoint=0.6,
                       space="Lab", mid="#339FFF", high = "#333CFF") +
  labs(x = "Energy") +
  labs(y = "Album Name") +
  labs(title = "Average Energy in Tyler, the Creator's Albums")

ggplot(data = tyler_avg_filtered, aes (x = danceiability, y = album))+
  geom_tile(aes(fill= danceiability, height=1 , width=.1),colour="red") +
  scale_y_discrete(breaks = tyler_avg_filtered$album) +
   scale_fill_gradient2(low = "#33F0FF", midpoint=0.6,
                       space="Lab", mid="#339FFF", high = "#333CFF") +
  labs(x = "Dance ability") +
  labs(y = "Album Name") +
  labs(title = "Average Dance Ability in Tyler, the Creator's Albums")

ggplot(data = tyler_avg_filtered, aes (x = tempo, y = album))+
  geom_tile(aes(fill= tempo, height=1 , width=.1),colour="red") +
  scale_y_discrete(breaks = tyler_avg_filtered$album) +
   scale_fill_gradient2(low = "#33F0FF", midpoint=0.6,
                       space="Lab", mid="#339FFF", high = "#333CFF") +
  labs(x = "Tempo") +
  labs(y = "Album Name") +
  labs(title = "Average Tempo in Tyler, the Creator's Albums")

Conclusion

The lyrics over Tyler, the Creator’s career have drastically changed. In his early albums, Tyler’s word clouds were filled with curse words. As more albums came out, the number of curse words started to decrease and more positive sentiment words started to replace the curse words. One reason for this is Tyler started his career filling his songs with homophobic and hateful lyrics. Then with the release of Flower Boy, Tyler admitted to being bisexual which changed his lyrics completely. With his identity changing, it changed his music for the positive as well.

The energy, dance ability and tempo has no correlation to his albums. Each album varied in their results and did not show a change throughout his career. This was expected due to the nature of each album and song being completely different from one another.