Dynamic Documents And Word Clouds
Contents
Dynamic Documents
In class, I pitched an idea for teaching you dynamic documents with word clouds.
What is a dynamic document? A dynamic document has text and possibly headings and other features, like bold and underline, lists, etc. But more importantly it accesses data (either by loading it from a file or in our case connecting to twitter and asking for it), then processes the data and derives summaries and figures to put in the document.
Dynamic documents are powerful.
Say you have data. You write a paper or report based on that data. Then you collect more data, or fix some problem with the data. If you write the dynamic document properly, when the data changes, all you have to do is press one button and all of the statistics and all of the figures get updated everywhere in the entire document.
If you had to update every statistic and every figure in the document, every time the data changed, this would take a long time and be prone to error. Dynamic documents are the way to go.
Word Clouds
I was inspired by the recent (2016) election to address the following question: what is going on with our culture? What better way to do that than to mine the twitter archive? There are many sophisticated techniques you could learn and it would take a whole career to stay on top of them. I wanted to create a dynamic document, easily customizable, which would graphically display some cultural information from twitter. After poking around with Google, I settled on a word cloud. A word cloud is a graphical display of the frequency of words, in this case, the frequency of words that appear in a random sample of tweets that satisfy certain search criteria. The more frequent the word, the larger it appears. Word clouds can code frequency with color, as well.
Preliminaries (before class)
- If you haven't done so already, download and install the statistical software package "R". Some computers will say that R comes from a source that is untrusted. Don't worry about that. Millions of people have downloaded R with no problems.
- Now download and install "R studio." Use the free desktop version.
- Make sure R studio opens.
Preliminaries (in class)
- Download the dynamic document: WordClouds.Rmd.
- You don't need this file, but in case you wanted to run a word cloud from the R console, you could use this file: Wcloud.R.
- You do, however need the following file for both the dynamic document and the console program. My_access_template.R.
- Once you have downloaded My_access_template.R, copy the file to a new file called my_access.R.
- You need to edit my_access.R to put in the "passwords" that twitter gives you.
- To get the passwords from twitter, follow this link: http://apps.twitter.com/
- Click on "Create New App"
- Put in a name for your application (no two people can have the application name).
- Put in a description of your app: "Draws a word cloud!" is fine.
- You need to associate your app with a website: http://www.seancarver.org/ is fine.
- Leave "Callback URL" blank.
- Agree to the "Developer Agreement."
- Click on "Create your twitter application"
- Now you get the home page for your app. Click on the tab at the top that says "Keys and Access Tokens."
- You need from this page your "Consumer Key," "Consumer Secret", "Access Token", and "Access Token Secret." You may have to tell twitter to generate or regenerate these keys. They will be strings of numbers and letters like "123kewarfadf03242324lkmaerlafdsafsd". Copy and paste them into the my_access.R file. Replace all text between quotation marks, but don't erase the quotation marks.
- One more thing. You need an image from the web. Download one from images.google.com and name it compassion.jpeg, or use this one: compassion. Make sure you save it as "compassion.jpeg" with a lower case 'c' (MediaWiki doesn't like file names that start with a lower case letter).