This is each author separated by the number of words in their manifesto, how many different words there were in their manifesto, and the lexical density of their manifesto (i.e., how many different words they used divided by the total number of words in the manifesto).
manifesto_words |>mutate(word_length =nchar(word)) |>ggplot(aes(word_length)) +facet_wrap(vars(author), scales ="free_y") +geom_histogram() +labs(title ="Distribution of Word Length for Each Manifesto")
`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
This is the distribution of the word lengths in each author’s manifesto.
manifesto_words |>group_by(author) |>count(word, sort = T) |>top_n(5) |>ungroup() |>mutate(word =reorder(word, n)) |>ggplot(aes(word, n, fill = author)) +geom_col(show.legend =FALSE) +coord_flip() +facet_wrap(~author, scales ="free") +scale_fill_viridis_d() +theme_minimal() +labs(x =NULL, y ="Most common words")
# A tibble: 5,879 × 7
author word n total tf idf tf_idf
<chr> <chr> <int> <int> <dbl> <dbl> <dbl>
1 Cho you 130 1971 0.0660 0.405 0.0267
2 Cho your 34 1971 0.0173 1.10 0.0190
3 Cho fuck 19 1971 0.00964 1.79 0.0173
4 Breivik cultural 42 5186 0.00810 1.79 0.0145
5 Breivik marxism 37 5186 0.00713 1.79 0.0128
6 Auvinen intelligent 10 1750 0.00571 1.79 0.0102
7 Auvinen minded 10 1750 0.00571 1.79 0.0102
8 Cho jesus 18 1971 0.00913 1.10 0.0100
9 Unabomber leftist 27 5100 0.00529 1.79 0.00949
10 Breivik frankfurt 27 5186 0.00521 1.79 0.00933
# ℹ 5,869 more rows
This is a chart, by author and word, of the term frequency (how often the word appears in a document), inverse document frequency (a measure of word uniqueness and uncommonness) and tf-idf (the term frequency and inverse document frequency multiplied together).
manifesto_tf_idf |>arrange(-tf_idf) |>mutate(word =factor(word, levels =rev(unique(word)))) |>group_by(author) |>top_n(5) |>ggplot(aes(word, tf_idf, fill = author)) +geom_col(show.legend =FALSE) +labs(x =NULL, y ="tf-idf") +facet_wrap(~author, scales ="free") +coord_flip() +theme_minimal() +scale_fill_viridis_d() +labs(title ="Most distinctive words in each manifesto")
Selecting by tf_idf
This is a graph of tf-idf by author and their most unique words.
manifesto_words |>inner_join(bing) |>count(word, sentiment, sort =TRUE) |>group_by(sentiment) |>top_n(10) |>ungroup() |>mutate(word =reorder(word, n)) |>ggplot(aes(word, n, fill = sentiment)) +geom_col(show.legend =FALSE) +facet_wrap(vars(sentiment), scales ="free") +labs(y ="Suicide notes: Words that contribute the most to each sentiment",x =NULL) +scale_fill_viridis_d() +coord_flip() +theme_minimal()
Joining with `by = join_by(word)`
Selecting by n
This is a graph of some of the most common words in the manifestos that align with either a postivie or negative sentiment.
manifestos |>unnest_tokens(bigram, text, token ="ngrams", n =2) |>select(bigram) -> manifesto_bigrams
manifesto_bigrams |>count(bigram, sort = T)
# A tibble: 14,954 × 2
bigram n
<chr> <int>
1 of the 159
2 in the 81
3 to the 69
4 i was 60
5 and the 56
6 to be 43
7 political correctness 37
8 i had 34
9 it is 34
10 it was 30
# ℹ 14,944 more rows
This is a list of the most common bigrams (two-word combinations) in the manifestos.
# A tibble: 4,115 × 2
bigram n
<chr> <int>
1 political correctness 37
2 frankfurt school 22
3 jesus christ 17
4 cultural marxism 16
5 black man 12
6 human race 12
7 modern leftism 9
8 power process 9
9 surrogate activities 9
10 will never 9
# ℹ 4,105 more rows
This is a list of the most common bigrams in the manifestos with the stop/filler words removed.
first_word <-c("we", "they") manifesto_bigrams |>count(bigram, sort = T) |>separate(bigram, c("word1", "word2"), sep =" ") |>filter(word1 %in% first_word) |>count(word1, word2, wt = n, sort =TRUE) |>mutate(word2 =factor(word2, levels =rev(unique(word2)))) |>group_by(word1) |>top_n(5) |>ggplot(aes(word2, n, fill = word1)) +scale_fill_viridis_d() +geom_col(show.legend =FALSE) +labs(x =NULL, y =NULL, title ="Word following:") +facet_wrap(~word1, scales ="free") +coord_flip() +theme_minimal()
Selecting by n
This is a chart showing the most common bigrams starting with “we” or “they” in the manifestos.