Onika Tanya Maraj also known as Nicki Mianj is a hip hop rapper known for her colorful wigs, outfits and her flow. She is also known for her alter ego, Roman Zolanski. Roman is described to be a "homosexual male from London, England, characterized as being far more outspoken (and perhaps malicious) than Minaj herself."

My hypothesis is that the album where Nicki Minaj's alter ego Roman appears most often is more negative in sentiment than other albums. I believe that the highest negative senitment will be in the Pink Friday: Roman Reloaded album where Roman is inheriently featured in almost every song.

Source: https://nickiminaj.fandom.com/wiki/Roman_Zolanski

library(genius)
library(tidytext)
library(tidyr)
library(readr)
library(ggplot2)
library(GGally)
## Registered S3 method overwritten by 'GGally':
##   method from   
##   +.gg   ggplot2
library(stringr)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
NickiAlbums <- tribble(
  ~ artist, ~ title,
  "Nicki Minaj", "Pink Friday",
  "Nicki Minaj", "Pink Friday: Roman Reloaded",
  "Nicki Minaj", "The Pinkprint",
  "Nicki Minaj", "Queen"
)
nicki_lyrics <- NickiAlbums %>% 
  add_genius(artist, title, type = "album")
## Joining, by = c("album_name", "track_n", "track_url")
## Joining, by = c("album_name", "track_n", "track_url")
## Joining, by = c("album_name", "track_n", "track_url")
## Joining, by = c("album_name", "track_n", "track_url")
## Joining, by = c("artist", "title")

Most Common Words in Nicki Minaj Albums

Pink Friday Wordcloud

nicki_lyrics %>%
  filter(title %in% "Pink Friday") %>% 
  unnest_tokens(word, lyric) %>% 
  anti_join(stop_words) %>% 
  count(word, sort = TRUE) %>%
  wordcloud2::wordcloud2()
## Joining, by = "word"

Pink Friday: Roman Reloaded Wordclout

nicki_lyrics %>%
  filter(title %in% "Pink Friday: Roman Reloaded") %>% 
  unnest_tokens(word, lyric) %>% 
  anti_join(stop_words) %>% 
  count(word, sort = TRUE) %>%
  wordcloud2::wordcloud2()
## Joining, by = "word"

The Pinkprint Wordcloud

nicki_lyrics %>%
  filter(title %in% "The Pinkprint") %>% 
  unnest_tokens(word, lyric) %>% 
  anti_join(stop_words) %>% 
  count(word, sort = TRUE) %>%
  wordcloud2::wordcloud2()
## Joining, by = "word"

Queen Wordcloud

nicki_lyrics %>%
  filter(title %in% "Queen") %>% 
  unnest_tokens(word, lyric) %>% 
  anti_join(stop_words) %>% 
  count(word, sort = TRUE) %>%
  wordcloud2::wordcloud2()
## Joining, by = "word"

Sentiment Values By Album

Pink Friday

nicki_lyrics %>% 
  filter(title %in% "Pink Friday") %>% 
  unnest_tokens(word, lyric) %>% 
  anti_join(stop_words) %>% 
  count(word, sort = TRUE) %>% 
  inner_join(get_sentiments("afinn")) %>% 
  arrange(desc(-value)) -> Nicki_Album1
## Joining, by = "word"
## Joining, by = "word"
Nicki_Album1 %>% 
  head(10)
## # A tibble: 10 x 3
##    word              n value
##    <chr>         <int> <dbl>
##  1 bitch            47    -5
##  2 bitches          29    -5
##  3 niggas           10    -5
##  4 motherfucker      7    -5
##  5 cock              2    -5
##  6 cunt              2    -5
##  7 motherfucking     1    -5
##  8 slut              1    -5
##  9 fuck             30    -4
## 10 shit             29    -4

Pink Friday: Roman Reloaded

nicki_lyrics %>% 
  filter(title %in% "Pink Friday: Roman Reloaded") %>% 
  unnest_tokens(word, lyric) %>% 
  anti_join(stop_words) %>% 
  count(word, sort = TRUE) %>% 
  inner_join(get_sentiments("afinn")) %>% 
  arrange(desc(-value)) -> Nicki_Album2
## Joining, by = "word"
## Joining, by = "word"
Nicki_Album2 %>% 
  head(10)
## # A tibble: 10 x 3
##    word              n value
##    <chr>         <int> <dbl>
##  1 bitches          48    -5
##  2 bitch            43    -5
##  3 niggas           15    -5
##  4 motherfucker      4    -5
##  5 cock              1    -5
##  6 motherfucking     1    -5
##  7 fuck             40    -4
##  8 shit             37    -4
##  9 dick             22    -4
## 10 damn             18    -4

The Pinkprint

nicki_lyrics %>% 
  filter(title %in% "The Pinkprint") %>% 
  unnest_tokens(word, lyric) %>% 
  anti_join(stop_words) %>% 
  count(word, sort = TRUE) %>% 
  inner_join(get_sentiments("afinn")) %>% 
  arrange(desc(-value)) -> Nicki_Album3
## Joining, by = "word"
## Joining, by = "word"
Nicki_Album3 %>% 
  head(10)
## # A tibble: 10 x 3
##    word        n value
##    <chr>   <int> <dbl>
##  1 bitches    60    -5
##  2 niggas     60    -5
##  3 bitch      49    -5
##  4 cock        1    -5
##  5 fuck       45    -4
##  6 ass        18    -4
##  7 shit       14    -4
##  8 fucked      6    -4
##  9 fucking     6    -4
## 10 dick        5    -4

Queen

nicki_lyrics %>% 
  filter(title %in% "Queen") %>% 
  unnest_tokens(word, lyric) %>% 
  anti_join(stop_words) %>% 
  count(word, sort = TRUE) %>% 
  inner_join(get_sentiments("afinn")) %>% 
  arrange(desc(-value)) -> Nicki_Album4
## Joining, by = "word"
## Joining, by = "word"
Nicki_Album4 %>% 
  head(10)
## # A tibble: 10 x 3
##    word              n value
##    <chr>         <int> <dbl>
##  1 bitch            44    -5
##  2 niggas           31    -5
##  3 bitches          26    -5
##  4 motherfucking     1    -5
##  5 fuck             51    -4
##  6 shit             33    -4
##  7 ass               5    -4
##  8 damn              5    -4
##  9 dick              4    -4
## 10 fucking           3    -4

Conclusion

In conclusion, when looking at value and n, Pink Friday: Roman Reloaded does not have the highest negative sentiment by word, it is second to The Pinkprint. The Pinkprint can be described as Minaj's most lovey-dovey/intimate album and because of that uses words to describe both the positive and more importantly, negative feelings, associated with love.

It would be interesting to analyze the sentiment of the albums in ascending order to see if Pink Friday: Roman Reloaded has the lowest n and value for positive words. It would also be interesting to do an analysis on each individual song Roman is on to see how they've changed over time.

Although Minaj's first and most utilized alter ego is Roman, it would be interesting to see how her others such as "Martha Zolanski"" and "Queen Sleeze" differ in both occurance and sentiment.