Difference between revisions of "Dynamic Documents And Word Clouds"

From Sean_Carver
Jump to: navigation, search
(Preliminaries (in class))
(Word Clouds)
Line 14: Line 14:
  
 
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.
 
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.
 +
 +
== What we are going to do ==
 +
 +
I am going to give you a dynamic document that searches twitter and draws a word cloud.  You will make minor modifications to this file and rerun it.  Maybe you will change the word or words we are looking for, or maybe you will change the search criteria---the date range or the geographic location.
  
 
== Preliminaries (before class) ==
 
== Preliminaries (before class) ==

Revision as of 02:23, 15 November 2016

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.

What we are going to do

I am going to give you a dynamic document that searches twitter and draws a word cloud. You will make minor modifications to this file and rerun it. Maybe you will change the word or words we are looking for, or maybe you will change the search criteria---the date range or the geographic location.

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)

  • 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.
  • Log on to twitter. You need a twitter account if you don't have one already.
  • 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.
  • 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).
  • Make sure all files downloaded and created are in the same directory.
  • Start R Studio.
  • In the R Studio console type setwd("...") where ... is the directory where your files are. This may or may not be necessary.
  • Load the dynamic document. File --> Open File
  • Press the knit button (ball of yarn)
  • That should bring up a window with the document.
  • At the top you can put "Open in Browser," which should open the document in your default browser---might be different for everyone.
  • Most browsers will allow you to print the file to a PDF or to a printer.