<p><div><div><div><div data-width="100" data-show-faces="false" data-send="true" data-layout="button_count" data-height="21" data-href="https://www.r-bloggers.com/measuring-gobbledygook/"></div></div><div><a data-url="https://www.r-bloggers.com/measuring-gobbledygook/" data-counturl="https://www.r-bloggers.com/measuring-gobbledygook/" data-count="horizontal" data-text="Measuring Gobbledygook" class="twitter-share-button" data-via="rbloggers" href="https://twitter.com/share"></a></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="http://juliasilge.com/blog/Gobbledygook/"> data science ish</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<p>In learning more about <a target="_blank" rel="nofollow" href="http://tidytextmining.com/">text mining</a> over the past several months, one aspect of text that I’ve been interested in is readability. A text’s readability measures how hard or easy it is for a reader to read and understand what a text is saying; it depends on how sentences are written, what words are chosen, and so forth. I first became really aware of readability scores of books through my kids’ reading tracking websites for school, but it turns out there are <a target="_blank" rel="nofollow" href="https://en.wikipedia.org/wiki/Readability#Popular_readability_formulas">lots of frameworks for measuring readability</a>.</p>
<p>One of the most commonly used ways to measure readability is a <a target="_blank" rel="nofollow" href="https://en.wikipedia.org/wiki/SMOG">SMOG</a> grade, which stands for “Simple Measure of Gobbledygook”. It may have a silly (SILLY WONDERFUL) name, but it is often considered the gold standard of readability formulas and performs well in many contexts. We calculate a SMOG score using the formula</p>
<p></p>
<p>where the number in the numerator measures the number of words with 3 or more syllables and the number in the denominator measures the number of sentences. You can see that SMOG is going to be higher for texts with a lot of words with many syllables in each sentence. These ratios are typically normalized to use a sample of 30 sentences, and then the SMOG grade is supposed to estimate the years of education needed to understand a text.</p>
<p>This seems like it is perfectly suited to an analysis using tidy data principles, so let’s use the <a target="_blank" rel="nofollow" href="https://github.com/juliasilge/tidytext">tidytext package</a> to compare the readability of several texts.</p>
<h2>Getting some texts to analyze</h2>
<p>Let’s use the <a target="_blank" rel="nofollow" href="https://github.com/ropenscilabs/gutenbergr">gutenbergr package</a> to obtain some book texts to compare. I want to compare:</p>
<ul>
<li><a target="_blank" rel="nofollow" href="https://www.gutenberg.org/ebooks/45"><em>Anne of Green Gables</em> by L. M. Montgomery</a></li>
<li><a target="_blank" rel="nofollow" href="https://www.gutenberg.org/ebooks/514"><em>Little Women</em> by Louisa May Alcott</a></li>
<li><a target="_blank" rel="nofollow" href="https://www.gutenberg.org/ebooks/42671"><em>Pride and Prejudice</em> by Jane Austen</a> (I mean, DUH)</li>
<li><a target="_blank" rel="nofollow" href="https://www.gutenberg.org/ebooks/4217"><em>A Portrait of the Artist as a Young Man</em> by James Joyce</a></li>
<li><a target="_blank" rel="nofollow" href="https://www.gutenberg.org/ebooks/135"><em>Les Misérables</em> by Victor Hugo</a></li>
</ul>
<figure>
<pre><code data-lang="r"><span>library</span><span>(</span><span>gutenbergr</span><span>)</span><span>
</span><span>books</span><span> </span><span>&lt;-</span><span> </span><span>gutenberg_download</span><span>(</span><span>c</span><span>(</span><span>45</span><span>,</span><span> </span><span>514</span><span>,</span><span> </span><span>42671</span><span>,</span><span> </span><span>4217</span><span>,</span><span> </span><span>135</span><span>),</span><span>
</span><span>meta_fields</span><span> </span><span>=</span><span> </span><span>&quot;title&quot;</span><span>)</span></code></pre>
</figure>
<p>I really wanted to throw some Ernest Hemingway in there, but none of his works are on Project Gutenberg; I guess they are not public domain.</p>
<h2>Tidying the text</h2>
<p>Now we have our texts in hand, and we need to do some data wrangling to get it in the form that we need. We are interested in counting two things here:</p>
<ul>
<li>the number of sentences</li>
<li>the number of words with 3 or more syllables</li>
</ul>
<p>Let’s start by working with the sentences. The <code>unnest_tokens</code> function in tidytext has an option to tokenize by sentences, but it can have trouble with UTF-8 encoded text, lots of dialogue, etc. We need to use <code>iconv</code> first on the UTF-8 text from Project Gutenberg before trying to tokenize by sentences. Also, we have three different books in this dataframe, so we need to <code>nest</code> and <code>map</code> so that we count sentences separately for each book; <code>unnest_tokens</code> will collapse all the text in a dataframe together before tokenizing by something like sentences, n-grams, etc.</p>
<figure>
<pre><code data-lang="r"><span>library</span><span>(</span><span>dplyr</span><span>)</span><span>
</span><span>library</span><span>(</span><span>tidytext</span><span>)</span><span>
</span><span>library</span><span>(</span><span>tidyr</span><span>)</span><span>
</span><span>library</span><span>(</span><span>purrr</span><span>)</span><span>
</span><span>tidybooks</span><span> </span><span>&lt;-</span><span> </span><span>books</span><span> </span><span>%>%</span><span>
</span><span>mutate</span><span>(</span><span>text</span><span> </span><span>=</span><span> </span><span>iconv</span><span>(</span><span>text</span><span>,</span><span> </span><span>to</span><span> </span><span>=</span><span> </span><span>'latin1'</span><span>))</span><span> </span><span>%>%</span><span>
</span><span>nest</span><span>(</span><span>-</span><span>title</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>mutate</span><span>(</span><span>tidied</span><span> </span><span>=</span><span> </span><span>map</span><span>(</span><span>data</span><span>,</span><span> </span><span>unnest_tokens</span><span>,</span><span> </span><span>'sentence'</span><span>,</span><span> </span><span>'text'</span><span>,</span><span> </span><span>token</span><span> </span><span>=</span><span> </span><span>'sentences'</span><span>))</span></code></pre>
</figure>
<p>It still takes me a bit of thinking and experimenting every time I need to <code>nest</code> and <code>map</code>, but what a great way to do what I need! How did this work out?</p>
<figure>
<pre><code data-lang="r"><span>tidybooks</span></code></pre>
</figure>
<figure>
<pre><code data-lang="text">## # A tibble: 5 × 3
##                                     title                  data
##                                     &lt;chr>                &lt;list>
## 1                    Anne of Green Gables &lt;tibble [10,779 × 2]>
## 2                          Les Misérables &lt;tibble [67,273 × 2]>
## 3                            Little Women &lt;tibble [20,627 × 2]>
## 4 A Portrait of the Artist as a Young Man  &lt;tibble [9,938 × 2]>
## 5                     Pride and Prejudice &lt;tibble [13,311 × 2]>
##                  tidied
##                  &lt;list>
## 1  &lt;tibble [7,383 × 2]>
## 2 &lt;tibble [35,682 × 2]>
## 3 &lt;tibble [10,117 × 2]>
## 4  &lt;tibble [4,583 × 2]>
## 5  &lt;tibble [6,951 × 2]></code></pre>
</figure>
<p>The <code>data</code> column contains the original untidied text and the <code>tidied</code> column contains the tidied text, organized with each sentence on its own row; both are list-columns. Now let’s unnest this so we get rid of the list-columns and have sentences in their own rows.</p>
<figure>
<pre><code data-lang="r"><span>tidybooks</span><span> </span><span>&lt;-</span><span> </span><span>tidybooks</span><span> </span><span>%>%</span><span>
</span><span>unnest</span><span>(</span><span>tidied</span><span>)</span><span>
</span><span>tidybooks</span></code></pre>
</figure>
<figure>
<pre><code data-lang="text">## # A tibble: 64,716 × 3
##                   title gutenberg_id
##                   &lt;chr>        &lt;int>
## 1  Anne of Green Gables           45
## 2  Anne of Green Gables           45
## 3  Anne of Green Gables           45
## 4  Anne of Green Gables           45
## 5  Anne of Green Gables           45
## 6  Anne of Green Gables           45
## 7  Anne of Green Gables           45
## 8  Anne of Green Gables           45
## 9  Anne of Green Gables           45
## 10 Anne of Green Gables           45
## # ... with 64,706 more rows, and 1 more variables: sentence &lt;chr></code></pre>
</figure>
<p>How did the sentence tokenizing do?</p>
<figure>
<pre><code data-lang="r"><span>tidybooks</span><span> </span><span>%>%</span><span> </span><span>sample_n</span><span>(</span><span>5</span><span>)</span><span> </span><span>%>%</span><span> </span><span>select</span><span>(</span><span>sentence</span><span>)</span></code></pre>
</figure>
<figure>
<pre><code data-lang="text">## # A tibble: 5 × 1
##                                                                                                                                              sentence
##                                                                                                                                                 &lt;chr>
## 1 marius was struck with the beauty of this white hair, and scrutinized the man, who was walking slowly and as though absorbed in painful meditation.
## 2                                                           she removed one hand from his arm, and with the other made him a sign to look behind him.
## 3                                                                                                                     by you, i was properly humbled.
## 4                                                                                   only he says we must first make sure that it is a worthy purpose.
## 5                                                                                            no, she could not take the responsibility of doing that!</code></pre>
</figure>
<p>Pretty well! Especially considering the whole thing errors out without <code>iconv</code>.</p>
<p>Now we know how to count the number of sentences in each book.</p>
<figure>
<pre><code data-lang="r"><span>tidybooks</span><span> </span><span>%>%</span><span>
</span><span>group_by</span><span>(</span><span>title</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>summarise</span><span>(</span><span>n_sentences</span><span> </span><span>=</span><span> </span><span>n_distinct</span><span>(</span><span>sentence</span><span>))</span></code></pre>
</figure>
<figure>
<pre><code data-lang="text">## # A tibble: 5 × 2
##                                     title n_sentences
##                                     &lt;chr>       &lt;int>
## 1 A Portrait of the Artist as a Young Man        4480
## 2                    Anne of Green Gables        7176
## 3                          Les Misérables       34229
## 4                            Little Women        9888
## 5                     Pride and Prejudice        6524</code></pre>
</figure>
<p>There we go! An estimate of the number of sentences in each book.</p>
<h2>Counting syllables</h2>
<p>The next thing we need to do here is count the syllables in each word so that we can find how many words in each book have more than 3 syllables. I did a bit of background checking on how this is done, and found <a target="_blank" rel="nofollow" href="http://lingtools.uoregon.edu/scripts/english_syllable_counter-102.R">this implementation of syllable counting</a> by <a target="_blank" rel="nofollow" href="http://pages.uoregon.edu/tsk/">Tyler Kendall</a> at the University of Oregon. It is actually an implementation in R of an algorithm originally written in PHP by Greg Fast, and it seems like a standard way people do this. It is estimated to have an error rate of ~15%, and is usually off by only one syllable when it is wrong.</p>
<p>I’m including this function in a code chunk with <code>echo = FALSE</code> because it is really long and I didn’t write it, but you can check out the <a target="_blank" rel="nofollow" href="https://github.com/juliasilge/juliasilge.github.io/blob/master/_R/2016-11-25-Gobbledygook.Rmd">R Markdown file</a> that made this blog post to see the details.</p>
<p>Let’s check out how it works!</p>
<figure>
<pre><code data-lang="r"><span>count_syllables</span><span>(</span><span>&quot;dog&quot;</span><span>)</span></code></pre>
</figure>
<figure>
<pre><code data-lang="text">## [1] 1</code></pre>
</figure>
<figure>
<pre><code data-lang="r"><span>count_syllables</span><span>(</span><span>&quot;science&quot;</span><span>)</span></code></pre>
</figure>
<figure>
<pre><code data-lang="text">## [1] 2</code></pre>
</figure>
<figure>
<pre><code data-lang="r"><span>count_syllables</span><span>(</span><span>&quot;couldn't&quot;</span><span>)</span></code></pre>
</figure>
<figure>
<pre><code data-lang="text">## [1] 2</code></pre>
</figure>
<figure>
<pre><code data-lang="r"><span>count_syllables</span><span>(</span><span>&quot;My name is Julia Silge.&quot;</span><span>)</span></code></pre>
</figure>
<figure>
<pre><code data-lang="text">## [1] 7</code></pre>
</figure>
<p>Well, my last name is actually two syllables, but most human beings get that wrong too, so there we go.</p>
<p>Now let’s start counting the syllables in all the words in our books. Let’s use <code>unnest_tokens</code> again to extract all the single words from the sentences; this time we will set <code>drop = FALSE</code> so we keep the sentences for counting purposes. Let’s add a new column that will count the syllables for each word. (This takes a bit to run on my fairly speedy/new desktop; that function for counting syllables is not built for speed.)</p>
<figure>
<pre><code data-lang="r"><span>tidybooks</span><span> </span><span>&lt;-</span><span> </span><span>tidybooks</span><span> </span><span>%>%</span><span>
</span><span>unnest_tokens</span><span>(</span><span>word</span><span>,</span><span> </span><span>sentence</span><span>,</span><span> </span><span>drop</span><span> </span><span>=</span><span> </span><span>FALSE</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>rowwise</span><span>()</span><span> </span><span>%>%</span><span>
</span><span>mutate</span><span>(</span><span>n_syllables</span><span> </span><span>=</span><span> </span><span>count_syllables</span><span>(</span><span>word</span><span>))</span><span> </span><span>%>%</span><span>
</span><span>ungroup</span><span>()</span><span>
</span><span>tidybooks</span><span> </span><span>%>%</span><span>
</span><span>select</span><span>(</span><span>word</span><span>,</span><span> </span><span>n_syllables</span><span>)</span></code></pre>
</figure>
<figure>
<pre><code data-lang="text">## # A tibble: 1,070,066 × 2
##          word n_syllables
##         &lt;chr>       &lt;dbl>
## 1        anne           1
## 2          of           1
## 3       green           1
## 4      gables           2
## 5          by           1
## 6        lucy           2
## 7        maud           1
## 8  montgomery           4
## 9       table           2
## 10         of           1
## # ... with 1,070,056 more rows</code></pre>
</figure>
<p>Let’s check out the distributions of syllables for the three titles.</p>
<figure>
<pre><code data-lang="r"><span>library</span><span>(</span><span>ggplot2</span><span>)</span><span>
</span><span>ggplot</span><span>(</span><span>tidybooks</span><span>,</span><span> </span><span>aes</span><span>(</span><span>n_syllables</span><span>,</span><span> </span><span>fill</span><span> </span><span>=</span><span> </span><span>title</span><span>,</span><span> </span><span>color</span><span> </span><span>=</span><span> </span><span>title</span><span>))</span><span> </span><span>+</span><span>
</span><span>geom_density</span><span>(</span><span>alpha</span><span> </span><span>=</span><span> </span><span>0.1</span><span>,</span><span> </span><span>size</span><span> </span><span>=</span><span> </span><span>1.1</span><span>,</span><span> </span><span>adjust</span><span> </span><span>=</span><span> </span><span>9</span><span>)</span><span> </span><span>+</span><span>
</span><span>theme_minimal</span><span>(</span><span>base_family</span><span> </span><span>=</span><span> </span><span>&quot;RobotoCondensed-Regular&quot;</span><span>)</span><span> </span><span>+</span><span>
</span><span>theme</span><span>(</span><span>plot.title</span><span>=</span><span>element_text</span><span>(</span><span>family</span><span>=</span><span>&quot;Roboto-Bold&quot;</span><span>))</span><span> </span><span>+</span><span>
</span><span>theme</span><span>(</span><span>legend.title</span><span>=</span><span>element_blank</span><span>())</span><span> </span><span>+</span><span>
</span><span>theme</span><span>(</span><span>legend.position</span><span> </span><span>=</span><span> </span><span>c</span><span>(</span><span>0.8</span><span>,</span><span> </span><span>0.8</span><span>))</span><span> </span><span>+</span><span>
</span><span>labs</span><span>(</span><span>x</span><span> </span><span>=</span><span> </span><span>&quot;Number of syllables per word&quot;</span><span>,</span><span>
</span><span>y</span><span> </span><span>=</span><span> </span><span>&quot;Density&quot;</span><span>,</span><span>
</span><span>title</span><span> </span><span>=</span><span> </span><span>&quot;Comparing syllables per word across novels&quot;</span><span>,</span><span>
</span><span>subtitle</span><span> </span><span>=</span><span> </span><span>&quot;Jane Austen uses the lowest proportion of words with one syllable&quot;</span><span>)</span></code></pre>
</figure>
<p><img alt="center" src="https://i0.wp.com/juliasilge.com/figs/2016-11-25-Gobbledygook/unnamed-chunk-11-1.png?w=456" data-recalc-dims="1"></p>
<p>These distributions are pretty similar, but there are some moderate differences. <em>Little Women</em> and <em>Les Misérables</em> have the highest proportion of words with only one syllable, while <em>Pride and Prejudice</em> has the lowest proportion. This makes some sense, since Louisa May Alcott was writing for young readers while Jane Austen was not. <em>Les Misérables</em> was originally written in French and we are analyzing a translation here, so that is a complicating factor. James Joyce, with his moocows or whatever, is in the middle here.</p>
<h2>Calculating SMOG</h2>
<p>Now we know both the number of sentences and the number of syllables in these books, so we can calculate… the gobbledygook! This will just end up being a bunch of dplyr operations.</p>
<figure>
<pre><code data-lang="r"><span>results</span><span> </span><span>&lt;-</span><span> </span><span>left_join</span><span>(</span><span>tidybooks</span><span> </span><span>%>%</span><span>
</span><span>group_by</span><span>(</span><span>title</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>summarise</span><span>(</span><span>n_sentences</span><span> </span><span>=</span><span> </span><span>n_distinct</span><span>(</span><span>sentence</span><span>)),</span><span>
</span><span>tidybooks</span><span> </span><span>%>%</span><span> </span><span>group_by</span><span>(</span><span>title</span><span>)</span><span> </span><span>%>%</span><span> </span><span>filter</span><span>(</span><span>n_syllables</span><span> </span><span>>=</span><span> </span><span>3</span><span>)</span><span> </span><span>%>%</span><span> </span><span>summarise</span><span>(</span><span>n_polysyllables</span><span> </span><span>=</span><span> </span><span>n</span><span>()))</span><span> </span><span>%>%</span><span>
</span><span>mutate</span><span>(</span><span>SMOG</span><span> </span><span>=</span><span> </span><span>1.0430</span><span> </span><span>*</span><span> </span><span>sqrt</span><span>(</span><span>30</span><span> </span><span>*</span><span> </span><span>n_polysyllables</span><span>/</span><span>n_sentences</span><span>)</span><span> </span><span>+</span><span> </span><span>3.1291</span><span>)</span><span>
</span><span>results</span></code></pre>
</figure>
<figure>
<pre><code data-lang="text">## # A tibble: 5 × 4
##                                     title n_sentences n_polysyllables
##                                     &lt;chr>       &lt;int>           &lt;int>
## 1 A Portrait of the Artist as a Young Man        4480            5648
## 2                    Anne of Green Gables        7176            7664
## 3                          Les Misérables       34228           55114
## 4                            Little Women        9888           11590
## 5                     Pride and Prejudice        6524           13180
##        SMOG
##       &lt;dbl>
## 1  9.543459
## 2  9.032898
## 3 10.378218
## 4  9.313996
## 5 11.248906</code></pre>
</figure>
<p>L.M. Montgomery, writing here for an audience of young girls, has the lowest SMOG grade at around 9 (i.e., approximately beginning 9th grade level). <em>Pride and Prejudice</em> has the highest SMOG grade at 11.2, more than two years of education higher. I will say that throwing <em>A Portrait of the Artist as a Young Man</em> in here turned out to be an interesting choice; in reality, I find it to be practically unreadable but it has a readability score close to the same as <em>Little Women</em>. This measure of prose readability based only on number of sentences and number of words with lots of syllables doesn’t measure what we might expect when applied to extremely stylized text.</p>
<p>Let’s visualize the readability scores for these five novels.</p>
<figure>
<pre><code data-lang="r"><span>library</span><span>(</span><span>ggstance</span><span>)</span><span>
</span><span>library</span><span>(</span><span>ggthemes</span><span>)</span><span>
</span><span>library</span><span>(</span><span>forcats</span><span>)</span><span>
</span><span>ggplot</span><span>(</span><span>results</span><span>,</span><span> </span><span>aes</span><span>(</span><span>SMOG</span><span>,</span><span> </span><span>fct_reorder</span><span>(</span><span>title</span><span>,</span><span> </span><span>SMOG</span><span>),</span><span> </span><span>fill</span><span> </span><span>=</span><span> </span><span>SMOG</span><span>))</span><span> </span><span>+</span><span>
</span><span>geom_barh</span><span>(</span><span>stat</span><span> </span><span>=</span><span> </span><span>&quot;identity&quot;</span><span>,</span><span> </span><span>alpha</span><span> </span><span>=</span><span> </span><span>0.8</span><span>)</span><span> </span><span>+</span><span>
</span><span>theme_tufte</span><span>(</span><span>base_family</span><span> </span><span>=</span><span> </span><span>&quot;RobotoCondensed-Regular&quot;</span><span>)</span><span> </span><span>+</span><span>
</span><span>geom_text</span><span>(</span><span>aes</span><span>(</span><span>x</span><span> </span><span>=</span><span> </span><span>0.3</span><span>,</span><span> </span><span>y</span><span> </span><span>=</span><span> </span><span>title</span><span>,</span><span> </span><span>label</span><span> </span><span>=</span><span> </span><span>title</span><span>),</span><span> </span><span>color</span><span>=</span><span>&quot;white&quot;</span><span>,</span><span>
</span><span>family</span><span>=</span><span>&quot;Roboto-Italic&quot;</span><span>,</span><span> </span><span>size</span><span>=</span><span>3.5</span><span>,</span><span> </span><span>hjust</span><span> </span><span>=</span><span> </span><span>0</span><span>)</span><span> </span><span>+</span><span>
</span><span>theme</span><span>(</span><span>plot.title</span><span>=</span><span>element_text</span><span>(</span><span>family</span><span>=</span><span>&quot;Roboto-Bold&quot;</span><span>))</span><span> </span><span>+</span><span>
</span><span>scale_fill_gradient</span><span>(</span><span>low</span><span> </span><span>=</span><span> </span><span>&quot;darkslategray3&quot;</span><span>,</span><span> </span><span>high</span><span> </span><span>=</span><span> </span><span>&quot;turquoise4&quot;</span><span>)</span><span> </span><span>+</span><span>
</span><span>theme</span><span>(</span><span>legend.position</span><span>=</span><span>&quot;none&quot;</span><span>)</span><span> </span><span>+</span><span>
</span><span>theme</span><span>(</span><span>axis.ticks</span><span>=</span><span>element_blank</span><span>())</span><span> </span><span>+</span><span>
</span><span>scale_x_continuous</span><span>(</span><span>expand</span><span>=</span><span>c</span><span>(</span><span>0</span><span>,</span><span>0</span><span>))</span><span> </span><span>+</span><span>
</span><span>theme</span><span>(</span><span>axis.text.y</span><span>=</span><span>element_blank</span><span>())</span><span> </span><span>+</span><span>
</span><span>labs</span><span>(</span><span>y</span><span> </span><span>=</span><span> </span><span>NULL</span><span>,</span><span> </span><span>x</span><span> </span><span>=</span><span> </span><span>&quot;SMOG Grade&quot;</span><span>,</span><span>
</span><span>title</span><span> </span><span>=</span><span> </span><span>&quot;Comparing readability scores across novels&quot;</span><span>,</span><span>
</span><span>subtitle</span><span> </span><span>=</span><span> </span><span>&quot;Jane Austen's SMOG grade is highest, while L.M. Montgomery's is lowest&quot;</span><span>)</span></code></pre>
</figure>
<p><img alt="center" src="https://i1.wp.com/juliasilge.com/figs/2016-11-25-Gobbledygook/unnamed-chunk-13-1.png?w=456" data-recalc-dims="1"></p>
<h2>The End</h2>
<p>I would like to thank <a target="_blank" rel="nofollow" href="https://benheubl.github.io/">Ben Heubl</a>, a data journalist at <em>The Economist</em>, for interesting discussions that motivated this blog post. The R Markdown file used to make this blog post is available <a target="_blank" rel="nofollow" href="https://github.com/juliasilge/juliasilge.github.io/blob/master/_R/2016-11-25-Gobbledygook.Rmd">here</a>. I am very happy to hear feedback or questions!</p>
<p><div><div><div><div data-width="55" data-show-faces="false" data-send="true" data-layout="box_count" data-height="62" data-href="https://www.r-bloggers.com/measuring-gobbledygook/"></div></div><div><a data-url="https://www.r-bloggers.com/measuring-gobbledygook/" data-counturl="https://www.r-bloggers.com/measuring-gobbledygook/" data-count="vertical" data-text="Measuring Gobbledygook" class="twitter-share-button" data-via="rbloggers" href="https://twitter.com/share"></a></div><div></div></div><div></div></div>
<div>
<div>To <strong>leave a comment</strong> for the author, please follow the link and comment on their blog: <strong><a href="http://juliasilge.com/blog/Gobbledygook/"> data science ish</a></strong>.</div>
<hr>
<a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers.com</a> offers <strong><a rel="nofollow" href="https://feedburner.google.com/fb/a/mailverify?uri=RBloggers">daily e-mail updates</a></strong> about <a title="The R Project for Statistical Computing" rel="nofollow" href="https://www.r-project.org/">R</a> news and <a title="R tutorials" rel="nofollow" href="https://www.r-bloggers.com/?s=tutorial">tutorials</a> on topics such as: <a title="Data science" rel="nofollow" href="https://www.r-bloggers.com/?s=data%20science">Data science</a>, <a title="Big Data" rel="nofollow" href="https://www.r-bloggers.com/?s=Big%20Data">Big Data, <a title="R jobs" rel="nofollow" href="https://www.r-users.com/">R jobs</a>, visualization (<a title="ggplot and ggplot2 tutorials" rel="nofollow" href="https://www.r-bloggers.com/?s=ggplot2">ggplot2</a>, <a title="Boxplots using lattice and ggplot2 tutorials" rel="nofollow" href="https://www.r-bloggers.com/?s=boxplot">Boxplots</a>, <a title="Maps and gis" rel="nofollow" href="https://www.r-bloggers.com/?s=map">maps</a>, <a title="Animation in R" rel="nofollow" href="https://www.r-bloggers.com/?s=animation">animation</a>), programming (<a title="RStudio IDE for R" rel="nofollow" href="https://www.r-bloggers.com/?s=RStudio">RStudio</a>, <a title="Sweave and literate programming" rel="nofollow" href="https://www.r-bloggers.com/?s=sweave">Sweave</a>, <a title="LaTeX in R" rel="nofollow" href="https://www.r-bloggers.com/?s=LaTeX">LaTeX</a>, <a title="SQL and databases" rel="nofollow" href="https://www.r-bloggers.com/?s=SQL">SQL</a>, <a title="Eclipse IDE for R" rel="nofollow" href="https://www.r-bloggers.com/?s=eclipse">Eclipse</a>, <a title="git and github, Version Control System" rel="nofollow" href="https://www.r-bloggers.com/?s=git">git</a>, <a title="Large data in R using Hadoop" rel="nofollow" href="https://www.r-bloggers.com/?s=hadoop">hadoop</a>, <a title="Web Scraping of google, facebook, yahoo, twitter and more using R" rel="nofollow" href="https://www.r-bloggers.com/?s=Web+Scraping">Web Scraping</a>) statistics (<a title="Regressions and ANOVA analysis tutorials" rel="nofollow" href="https://www.r-bloggers.com/?s=regression">regression</a>, <a title="principal component analysis tutorial" rel="nofollow" href="https://www.r-bloggers.com/?s=PCA">PCA</a>, <a title="Time series" rel="nofollow" href="https://www.r-bloggers.com/?s=time+series">time series</a>, <a title="finance trading" rel="nofollow" href="https://www.r-bloggers.com/?s=trading">trading</a>) and more...
<img height="1" alt="" width="1" src="http://feeds.feedburner.com/~r/RBloggers/~4/mGoye7deuPg"></a></div>