Appendix A: Packages

library(ggplot2)
library(readr)
library(dplyr)
library(ROAuth)
library(tm)
library(stm)
library(stringr)
library(tidyverse)
library(lubridate)
library(wordcloud)
library(ggthemes)
library(tidytext)
library(ggsci)
library(Zelig)
library(lubridate)
library(stringr)
library(tidyverse)
library(stm)
library(wordcloud)
library(SnowballC)
library(RColorBrewer)

Appendix B

how to create a dataset of the most recent #MeToo twitter data using twitteR

#load relevant packages
library(twitteR)
library(ROAuth)
library(httr)

# Set API Keys
# I used my real API keys to run the data
# but I've subbed in nonsense letters to mask my real API keys
# since I don't want that to be publicly displayed!
api_key <- "xxxx"
api_secret <- "xxxxx"
access_token <- "xxxxxx"
access_token_secret <- "xxxxx"
setup_twitter_oauth(api_key, api_secret, access_token, access_token_secret)
# Grab latest n tweets
#the intial 2017 set includes 390000 tweets
#for recent data, 10000 seems reasonable since it is trending less now than it was in 2017
tweets_metoo <- searchTwitter('#MeToo', n=10000)

# Loop over tweets and extract text
library(plyr)
feed_metoo = laply(tweets_metoo, function(t) t$getText())
#create csv of tweets
write.csv(feed_metoo,'me2.csv')
LS0tCnRpdGxlOiAiQ29kZSBBcHBlbmRpeCIKb3V0cHV0OiAKICBodG1sX25vdGVib29rOiAKICAgIHRoZW1lOiByZWFkYWJsZQotLS0KCiNBcHBlbmRpeCBBOiBQYWNrYWdlcwoKYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KHJlYWRyKQpsaWJyYXJ5KGRwbHlyKQpsaWJyYXJ5KFJPQXV0aCkKbGlicmFyeSh0bSkKbGlicmFyeShzdG0pCmxpYnJhcnkoc3RyaW5ncikKbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkobHVicmlkYXRlKQpsaWJyYXJ5KHdvcmRjbG91ZCkKbGlicmFyeShnZ3RoZW1lcykKbGlicmFyeSh0aWR5dGV4dCkKbGlicmFyeShnZ3NjaSkKbGlicmFyeShaZWxpZykKbGlicmFyeShsdWJyaWRhdGUpCmxpYnJhcnkoc3RyaW5ncikKbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkoc3RtKQpsaWJyYXJ5KHdvcmRjbG91ZCkKbGlicmFyeShTbm93YmFsbEMpCmxpYnJhcnkoUkNvbG9yQnJld2VyKQpgYGAKCgojQXBwZW5kaXggQgojaG93IHRvIGNyZWF0ZSBhIGRhdGFzZXQgb2YgdGhlIG1vc3QgcmVjZW50ICNNZVRvbyB0d2l0dGVyIGRhdGEgdXNpbmcgKnR3aXR0ZVIqCgpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBldmFsPUZBTFNFfQojbG9hZCByZWxldmFudCBwYWNrYWdlcwpsaWJyYXJ5KHR3aXR0ZVIpCmxpYnJhcnkoUk9BdXRoKQpsaWJyYXJ5KGh0dHIpCgojIFNldCBBUEkgS2V5cwojIEkgdXNlZCBteSByZWFsIEFQSSBrZXlzIHRvIHJ1biB0aGUgZGF0YQojIGJ1dCBJJ3ZlIHN1YmJlZCBpbiBub25zZW5zZSBsZXR0ZXJzIHRvIG1hc2sgbXkgcmVhbCBBUEkga2V5cwojIHNpbmNlIEkgZG9uJ3Qgd2FudCB0aGF0IHRvIGJlIHB1YmxpY2x5IGRpc3BsYXllZCEKYXBpX2tleSA8LSAieHh4eCIKYXBpX3NlY3JldCA8LSAieHh4eHgiCmFjY2Vzc190b2tlbiA8LSAieHh4eHh4IgphY2Nlc3NfdG9rZW5fc2VjcmV0IDwtICJ4eHh4eCIKc2V0dXBfdHdpdHRlcl9vYXV0aChhcGlfa2V5LCBhcGlfc2VjcmV0LCBhY2Nlc3NfdG9rZW4sIGFjY2Vzc190b2tlbl9zZWNyZXQpCgoKYGBgCgpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBldmFsPUZBTFNFfQojIEdyYWIgbGF0ZXN0IG4gdHdlZXRzCiN0aGUgaW50aWFsIDIwMTcgc2V0IGluY2x1ZGVzIDM5MDAwMCB0d2VldHMKI2ZvciByZWNlbnQgZGF0YSwgMTAwMDAgc2VlbXMgcmVhc29uYWJsZSBzaW5jZSBpdCBpcyB0cmVuZGluZyBsZXNzIG5vdyB0aGFuIGl0IHdhcyBpbiAyMDE3CnR3ZWV0c19tZXRvbyA8LSBzZWFyY2hUd2l0dGVyKCcjTWVUb28nLCBuPTEwMDAwKQoKIyBMb29wIG92ZXIgdHdlZXRzIGFuZCBleHRyYWN0IHRleHQKbGlicmFyeShwbHlyKQpmZWVkX21ldG9vID0gbGFwbHkodHdlZXRzX21ldG9vLCBmdW5jdGlvbih0KSB0JGdldFRleHQoKSkKYGBgCgpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBldmFsPUZBTFNFfQojY3JlYXRlIGNzdiBvZiB0d2VldHMKd3JpdGUuY3N2KGZlZWRfbWV0b28sJ21lMi5jc3YnKQpgYGAK