The Trump Phenomenon: A Twitter Based Recount

This analysis uses Twitter data to perform a sentiment analysis to help determine how people truly feel about Trump. We found that while his fans have supported him throughout his entire campaign, more and more Twitter users have started to grow tired of Trump’s attitude.

By Yunyang Wang.


Ever since June of 2015, America has been glued to Donald Trump’s infamous quest to secure the White House. His urgent rhetoric and blunt commentary have created controversy like none other before.

When Trump first announced his campaign, spectators had a relatively hard time taking him seriously; his whole campaign seemed to much like a joke. So, when Cruz dropped, the shocking reality that Trump actually may have a chance finally hit. With all the chaos swirling around, it can be hard to understand whether the public actually likes Donald Trump. So, using Twitter as a data source, we capture tweets from past specific significant Trump dates and analyze them to determine the true sentiment towards Donald Trump.


For data, I decided to analyze tweets about Donald Trump. To collect these tweets, I used a project written in Java that can bypass some of the restrictions of the original Twitter Official API: I collected tweets from specific dates in Trump’s campaign such as his campaign announcement, Super Tuesday, and his nomination at the RNC.

To analyze the data, I used a package in R called syuzhet which performs a sentiment analysis using the dictionary “syuzhet” developed in the Nebraska Literary Lab. Calculating the percentage of words that identified with each sentiment for each event, I manually entered the percentages into Excel to create a final line graph of reactions to Trump over time. I also added a word cloud, frequency table (split into adjectives, adverbs, verbs and nouns manually) and pie chart generated in R for two specific events that I will talk about more in depth. See the appendix for words removed from the word clouds and frequency tables.

June 16, 2015 - Campaign Announcement

The dataset collected contains 13,834 observations. The following visuals were generated:

*note: young in the word cloud refers to Neil Young; we will not be analyzing “great” or “good” as the former is in Trump’s campaign slogan and the latter needs context e.g. “good job” vs “good riddance”; we will not count names as nouns

Trump Word Cloud 1.
Figure 1: Word cloud and sentiment from tweets about Donald Trump, June 16, 2015 - Campaign Announcement

Table 1: Top adjectives and nouns from tweets about Donald Trump, June 16, 2015 - Campaign Announcement

Adj Frequency Nouns Frequency
white 450 joke 363
great 416 world 360
good 313 hair 349
rich 299 money 289
best 284 god 230
first 208 mexico 229
free 193 billionaire 211
american 184 hell 207
racist 182 twitter 200
big 166 wall 189

Interestingly, “white” ranks first on the adjective list, and using the context of his campaign, the word most probably either refers skin color or the “White House”. When someone attacks another race, people are more likely to be drawn to the attacker’s own race and attack back. Of course, these “white”’s can also come from the “White House” when talking about Trump’s possible residence there, but racial comments definitely make up one of this campaign’s focal points as “racist”, “mexico”, and “wall” were all included in the lists.

First place on the nouns list, “joke” connotes a sense of mocking and disbelief, pairing well with the high percentage of tweets that are “surprised” in Figure 2. At the start of his campaign, many were doubtful that he would get anywhere. “Hair”, which comes in third place, also reinforces “joke”; the internet loves to mock his fake, wispy looking hair, contributing to the great doubt in this campaign. We also detect hints of fear with “god” and “hell”; “Oh god”, “God help us”, these phrases all imply exasperation and uneasiness. And, “hell” is common when describing an awful situation, so the appearance of these two words may indicate a fear of or disappointment in Trump.

Yet, in Figure 2, after surprise at 31%, trust comes in second at 20% and joy comes in fourth at 10%, all significant proportions. So, although the frequency charts show a negative reaction to his campaign, the sentiment analysis shows a strangely positive one. We will analyze this further later.

May 3, 2016 - Cruz Drops

The dataset contains 79,124 observations. The following word cloud was generated:

Trump Word Cloud2 Cruz
Fig. 2: Word Cloud from tweets about Donald Trump on May 3, 2016, when Ted Cruz dropped out of the Republican race.

Table 2: Top adjectives and nouns from tweets about Donald Trump, May 3, 2016

Adj Frequency Nouns Frequency
Adj Frequency Nouns Frequency
never 2363 father 2356
great 1978 liar 1722
good 1536 media 1703
black 1344 dad 1378
pathological 1157 family 1328
well 1154 wall 947
big 1113 god 914
ever 1038 assassination 906
female 974 women 858
better 950 victory 848

Topping the adjectives/adverbs list with a frequency over 2000, “never” denotes definitive rejection. As the hashtag “nevertrump” itself has a frequency of 2076, we can assume that after Cruz dropped out, a sizable amount of people took to Twitter to battle the overwhelming possibility that Trump could become the GOP nominee.