<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/analysis-of-the-7favpackages-hashtag/"></div></div><div><a data-url="https://www.r-bloggers.com/analysis-of-the-7favpackages-hashtag/" data-counturl="https://www.r-bloggers.com/analysis-of-the-7favpackages-hashtag/" data-count="horizontal" data-text="Analysis of the #7FavPackages hashtag" 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://varianceexplained.org/r/seven-fav-packages/"> Variance Explained</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<p>Twitter has seen a recent trend of “first 7” and “favorite 7” hashtags, like <a target="_blank" href="https://twitter.com/search?q=%237firstjobs&src=tyah">#7FirstJobs</a> and <a target="_blank" href="https://twitter.com/search?q=%237favfilms&src=tyah">#7FavFilms</a>. Last week I added one to the mix, about my 7 favorite R packages:</p>
<blockquote data-lang="en" class="twitter-tweet"><p dir="ltr" lang="de">devtools<br>dplyr<br>ggplot2<br>knitr<br>Rcpp<br>rmarkdown<br>shiny<a target="_blank" href="https://twitter.com/hashtag/7FavPackages?src=hash">#7FavPackages</a> <a target="_blank" href="https://twitter.com/hashtag/rstats?src=hash">#rstats</a></p>
<p>— David Robinson (@drob) <a target="_blank" href="https://twitter.com/drob/status/765594005979693056">August 16, 2016</a></p></blockquote>
<p></p>
<p>Hadley Wickham agreed to share his own, but on one condition:</p>
<blockquote data-lang="en" class="twitter-tweet"><p dir="ltr" lang="en"><a target="_blank" href="https://twitter.com/drob">@drob</a> I'll do it if you write a script to scrape the tweets, plot overall most common, and common co-occurences</p>
<p>— Hadley Wickham (@hadleywickham) <a target="_blank" href="https://twitter.com/hadleywickham/status/765617405884178432">August 16, 2016</a></p></blockquote>
<p>Hadley <a target="_blank" href="https://twitter.com/hadleywickham/status/765621543154036737">followed through</a>, so now it’s my turn.</p>
<h3>Setup</h3>
<p>We can use the same twitteR package that I used in my <a target="_blank" href="http://varianceexplained.org/r/trump-tweets/">analysis of Trump’s Twitter account</a>:</p>
<figure>
<pre><code data-lang="r"><span>library</span><span>(</span><span>twitteR</span><span>)</span><span>
</span><span>library</span><span>(</span><span>purrr</span><span>)</span><span>
</span><span>library</span><span>(</span><span>dplyr</span><span>)</span><span>
</span><span>library</span><span>(</span><span>stringr</span><span>)</span><span>
</span><span># You'd need to set up authentication before running this
# See help(setup_twitter_oauth)
</span><span>tweets</span><span> </span><span>&lt;-</span><span> </span><span>searchTwitter</span><span>(</span><span>&quot;#7FavPackages&quot;</span><span>,</span><span> </span><span>n</span><span> </span><span>=</span><span> </span><span>3200</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>map_df</span><span>(</span><span>as.data.frame</span><span>)</span><span>
</span><span># Grab only the first for each user (some had followups), and ignore retweets
</span><span>tweets</span><span> </span><span>&lt;-</span><span> </span><span>tweets</span><span> </span><span>%>%</span><span>
</span><span>filter</span><span>(</span><span>!</span><span>str_detect</span><span>(</span><span>text</span><span>,</span><span> </span><span>&quot;^RT &quot;</span><span>))</span><span> </span><span>%>%</span><span>
</span><span>arrange</span><span>(</span><span>created</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>distinct</span><span>(</span><span>screenName</span><span>,</span><span> </span><span>.keep_all</span><span> </span><span>=</span><span> </span><span>TRUE</span><span>)</span></code></pre>
</figure>
<p>There were 116 (unique) tweets in this hashtag. I can use the <a target="_blank" href="https://github.com/juliasilge/tidytext">tidytext</a> package to analyze them, using a custom regular expression.</p>
<figure>
<pre><code data-lang="r"><span>library</span><span>(</span><span>BiocInstaller</span><span>)</span><span>
</span><span># to avoid non-package words
</span><span>built_in</span><span> </span><span>&lt;-</span><span> </span><span>tolower</span><span>(</span><span>sessionInfo</span><span>()</span><span>$</span><span>basePkgs</span><span>)</span><span>
</span><span>cran_pkgs</span><span> </span><span>&lt;-</span><span> </span><span>tolower</span><span>(</span><span>rownames</span><span>(</span><span>available.packages</span><span>()))</span><span>
</span><span>bioc_pkgs</span><span> </span><span>&lt;-</span><span> </span><span>tolower</span><span>(</span><span>rownames</span><span>(</span><span>available.packages</span><span>(</span><span>repos</span><span> </span><span>=</span><span> </span><span>biocinstallRepos</span><span>()[</span><span>1</span><span>:</span><span>3</span><span>])))</span><span>
</span><span>blacklist</span><span> </span><span>&lt;-</span><span> </span><span>c</span><span>(</span><span>&quot;all&quot;</span><span>)</span><span>
</span><span>library</span><span>(</span><span>tidytext</span><span>)</span><span>
</span><span>spl_re</span><span> </span><span>&lt;-</span><span> </span><span>&quot;[^a-zA-Z\\d\\@\\#\\.]&quot;</span><span>
</span><span>link_re</span><span> </span><span>&lt;-</span><span> </span><span>&quot;https://t.co/[A-Za-z\\d]+|&amp;amp;&quot;</span><span>
</span><span>packages</span><span> </span><span>&lt;-</span><span> </span><span>tweets</span><span> </span><span>%>%</span><span>
</span><span>mutate</span><span>(</span><span>text</span><span> </span><span>=</span><span> </span><span>str_replace_all</span><span>(</span><span>text</span><span>,</span><span> </span><span>link_re</span><span>,</span><span> </span><span>&quot;&quot;</span><span>))</span><span> </span><span>%>%</span><span>
</span><span>unnest_tokens</span><span>(</span><span>package</span><span>,</span><span> </span><span>text</span><span>,</span><span> </span><span>token</span><span> </span><span>=</span><span> </span><span>&quot;regex&quot;</span><span>,</span><span> </span><span>pattern</span><span> </span><span>=</span><span> </span><span>spl_re</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>filter</span><span>(</span><span>package</span><span> </span><span>%in%</span><span> </span><span>c</span><span>(</span><span>cran_pkgs</span><span>,</span><span> </span><span>bioc_pkgs</span><span>,</span><span> </span><span>built_in</span><span>))</span><span> </span><span>%>%</span><span>
</span><span>distinct</span><span>(</span><span>id</span><span>,</span><span> </span><span>package</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>filter</span><span>(</span><span>!</span><span>package</span><span> </span><span>%in%</span><span> </span><span>blacklist</span><span>)</span><span>
</span><span>pkg_counts</span><span> </span><span>&lt;-</span><span> </span><span>packages</span><span> </span><span>%>%</span><span>
</span><span>count</span><span>(</span><span>package</span><span>,</span><span> </span><span>sort</span><span> </span><span>=</span><span> </span><span>TRUE</span><span>)</span></code></pre>
</figure>
<p>Note that since a lot of non-package words got mixed in with these tweets, I filtered for only packages in CRAN and Bioconductor (so packages that are only on GitHub or elsewhere won’t be included, though anecdotally I didn’t notice any among the tweets). Tweeters were sometimes inconsistent about case as well, so I kept all packages lowercase throughout this analysis.</p>
<h3>General results</h3>
<p>There were 700 occurrences of 184 packages in these tweets. What were the most common?</p>
<p><img alt="center" src="https://i2.wp.com/varianceexplained.org/figs/2016-08-25-seven-fav-packages/packages_graph-1.png?w=456" data-recalc-dims="1"></p>
<p>Some observations:</p>
<ul>
<li>ggplot2 and dplyr were the most popular packages, each mentioned by more than half the tweets, and other packages by Hadley like tidyr, devtools, purrr and stringr weren’t far behind. This isn’t too surprising, since much of the attention to the hashtag came with Hadley’s tweet.</li>
</ul>
<blockquote data-lang="en" class="twitter-tweet"><p dir="ltr" lang="en"><a target="_blank" href="https://twitter.com/drob">@drob</a> <a target="_blank" href="https://twitter.com/JaySun_Bee">@JaySun_Bee</a> <a target="_blank" href="https://twitter.com/ma_salmon">@ma_salmon</a> HOW IS THAT BIASED?</p>
<p>— Hadley Wickham (@hadleywickham) <a target="_blank" href="https://twitter.com/hadleywickham/status/765637199740022785">August 16, 2016</a></p></blockquote>
<ul>
<li>The next most popular packages involved reproducible research (rmarkdown and knitr), along with other RStudio tools like shiny. What if I excluded packages maintained by RStudio (or RStudio employees like Hadley and Yihui)?</li>
</ul>
<p><img alt="center" src="https://i1.wp.com/varianceexplained.org/figs/2016-08-25-seven-fav-packages/no_rstudio-1.png?w=456" data-recalc-dims="1"></p>
<ul>
<li>The vast majority of packages people listed as their favorite were CRAN packages: only 7 Bioconductor packages were mentioned (though it’s worth noting they occurred across four different tweets):</li>
</ul>
<figure>
<pre><code data-lang="r"><span>packages</span><span> </span><span>%>%</span><span>
</span><span>filter</span><span>(</span><span>package</span><span> </span><span>%in%</span><span> </span><span>bioc_pkgs</span><span>)</span></code></pre>
</figure>
<figure>
<pre><code data-lang="text">## # A tibble: 7 x 2
##                   id       package
##                &lt;chr>         &lt;chr>
## 1 765622260556238848          xcms
## 2 765637117976387584         edger
## 3 765637117976387584         limma
## 4 765669197284245504       biomart
## 5 765669197284245504 genomicranges
## 6 765669197284245504        deseq2
## 7 765630231948308481    genefilter</code></pre>
</figure>
<ul>
<li>There were 109 CRAN packages that were mentioned only once, and those showed a rather large variety. A random sample of 10:</li>
</ul>
<figure>
<pre><code data-lang="r"><span>set.seed</span><span>(</span><span>2016</span><span>)</span><span>
</span><span>pkg_counts</span><span> </span><span>%>%</span><span>
</span><span>filter</span><span>(</span><span>n</span><span> </span><span>==</span><span> </span><span>1</span><span>,</span><span> </span><span>!</span><span>package</span><span> </span><span>%in%</span><span> </span><span>bioc_pkgs</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>sample_n</span><span>(</span><span>10</span><span>)</span></code></pre>
</figure>
<figure>
<pre><code data-lang="text">## # A tibble: 10 x 2
##       package     n
##         &lt;chr> &lt;int>
## 1      fclust     1
## 2          dt     1
## 3   shinystan     1
## 4        domc     1
## 5     mapview     1
## 6        daff     1
## 7     pbapply     1
## 8  visnetwork     1
## 9          af     1
## 10        arm     1</code></pre>
</figure>
<h3>Correlations</h3>
<p>What packages tend to be “co-favorited”- that is, listed by the same people? Here I’m using my in-development <a target="_blank" href="https://github.com/dgrtwo/widyr">widyr</a> package, which makes it easy to calculate pairwise correlations in a tidy data frame.</p>
<figure>
<pre><code data-lang="r"><span># install with devtools::install_github(&quot;dgrtwo/widyr&quot;)
</span><span>library</span><span>(</span><span>widyr</span><span>)</span><span>
</span><span># use only packages with at least 4 mentions, to reduce noise
</span><span>pkg_counts</span><span> </span><span>&lt;-</span><span> </span><span>packages</span><span> </span><span>%>%</span><span>
</span><span>count</span><span>(</span><span>package</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>filter</span><span>(</span><span>n</span><span> </span><span>>=</span><span> </span><span>4</span><span>)</span><span>
</span><span>pkg_correlations</span><span> </span><span>&lt;-</span><span> </span><span>packages</span><span> </span><span>%>%</span><span>
</span><span>semi_join</span><span>(</span><span>pkg_counts</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>pairwise_cor</span><span>(</span><span>package</span><span>,</span><span> </span><span>id</span><span>,</span><span> </span><span>sort</span><span> </span><span>=</span><span> </span><span>TRUE</span><span>,</span><span> </span><span>upper</span><span> </span><span>=</span><span> </span><span>FALSE</span><span>)</span><span>
</span><span>pkg_correlations</span></code></pre>
</figure>
<figure>
<pre><code data-lang="text">## # A tibble: 465 x 3
##         item1       item2 correlation
##         &lt;chr>       &lt;chr>       &lt;dbl>
## 1        base    graphics   0.5813129
## 2    graphics       stats   0.4716609
## 3        base       stats   0.4495913
## 4       dplyr       tidyr   0.3822511
## 5       rstan    rstanarm   0.3791074
## 6       dplyr     ggplot2   0.3483315
## 7     ggplot2       knitr   0.3032979
## 8       dplyr       shiny   0.3027743
## 9  data.table htmlwidgets   0.2937083
## 10    ggplot2       tidyr   0.2811096
## # ... with 455 more rows</code></pre>
</figure>
<p>For instance, this shows the greatest correlation (technically a <a target="_blank" href="https://en.wikipedia.org/wiki/Phi_coefficient">phi coefficient</a>) were between the base, graphics, and stats packages, by people showing loyalty to built in packages.</p>
<p>I like using the <a target="_blank" href="https://github.com/thomasp85/ggraph">ggraph</a> package to visualize these relationships:</p>
<figure>
<pre><code data-lang="r"><span>library</span><span>(</span><span>ggraph</span><span>)</span><span>
</span><span>library</span><span>(</span><span>igraph</span><span>)</span><span>
</span><span>set.seed</span><span>(</span><span>2016</span><span>)</span><span>
</span><span># we set an arbitrary threshold of connectivity
</span><span>pkg_correlations</span><span> </span><span>%>%</span><span>
</span><span>filter</span><span>(</span><span>correlation</span><span> </span><span>></span><span> </span><span>.2</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>graph_from_data_frame</span><span>(</span><span>vertices</span><span> </span><span>=</span><span> </span><span>pkg_counts</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>ggraph</span><span>(</span><span>layout</span><span> </span><span>=</span><span> </span><span>&quot;fr&quot;</span><span>)</span><span> </span><span>+</span><span>
</span><span>geom_edge_link</span><span>(</span><span>aes</span><span>(</span><span>edge_alpha</span><span> </span><span>=</span><span> </span><span>correlation</span><span>))</span><span> </span><span>+</span><span>
</span><span>geom_node_point</span><span>(</span><span>aes</span><span>(</span><span>size</span><span> </span><span>=</span><span> </span><span>n</span><span>),</span><span> </span><span>color</span><span> </span><span>=</span><span> </span><span>&quot;lightblue&quot;</span><span>)</span><span> </span><span>+</span><span>
</span><span>theme_void</span><span>()</span><span> </span><span>+</span><span>
</span><span>geom_node_text</span><span>(</span><span>aes</span><span>(</span><span>label</span><span> </span><span>=</span><span> </span><span>name</span><span>),</span><span> </span><span>repel</span><span> </span><span>=</span><span> </span><span>TRUE</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>&quot;none&quot;</span><span>)</span></code></pre>
</figure>
<p><img alt="center" src="https://i2.wp.com/varianceexplained.org/figs/2016-08-25-seven-fav-packages/pkg_correlations_graph-1.png?w=456" data-recalc-dims="1"></p>
<p>You can recognize most of RStudio’s packages (ggplot2, dplyr, tidyr, knitr, shiny) in the cluster on the bottom left of the graph. At the bottom right you can see the “base” cluster (stats, base, utils, grid, graphics), with people who showed their loyalty to base packages.</p>
<p>Beyond that, the relationships are a bit harder to parse (outside of some expected combinations like rstan and rstanarm): we may just not have enough data to create reliable correlations.</p>
<h3>Compared to CRAN dependencies</h3>
<p>This isn’t a particularly scientific survey, to say the least. So how does it compare to another metric of a package’s popularity: the number of packages that Depend, Import, or Suggest it on CRAN? (You could also compare to # of CRAN downloads using the <a target="_blank" href="https://github.com/metacran/cranlogs">cranlogs</a> package, but since most downloads are due to dependencies, the two metrics give rather similar results).</p>
<p>We can discover this using the <code>available.packages()</code> function, along with some processing.</p>
<figure>
<pre><code data-lang="r"><span>library</span><span>(</span><span>tidyr</span><span>)</span><span>
</span><span>pkgs</span><span> </span><span>&lt;-</span><span> </span><span>available.packages</span><span>()</span><span> </span><span>%>%</span><span>
</span><span>as.data.frame</span><span>()</span><span> </span><span>%>%</span><span>
</span><span>tbl_df</span><span>()</span><span>
</span><span>requirements</span><span> </span><span>&lt;-</span><span> </span><span>pkgs</span><span> </span><span>%>%</span><span>
</span><span>unite</span><span>(</span><span>Requires</span><span>,</span><span> </span><span>Depends</span><span>,</span><span> </span><span>Imports</span><span>,</span><span> </span><span>Suggests</span><span>,</span><span> </span><span>sep</span><span> </span><span>=</span><span> </span><span>&quot;,&quot;</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>transmute</span><span>(</span><span>Package</span><span> </span><span>=</span><span> </span><span>as.character</span><span>(</span><span>Package</span><span>),</span><span>
</span><span>Requires</span><span> </span><span>=</span><span> </span><span>as.character</span><span>(</span><span>Requires</span><span>))</span><span> </span><span>%>%</span><span>
</span><span>unnest</span><span>(</span><span>Requires</span><span> </span><span>=</span><span> </span><span>str_split</span><span>(</span><span>Requires</span><span>,</span><span> </span><span>&quot;,&quot;</span><span>))</span><span> </span><span>%>%</span><span>
</span><span>mutate</span><span>(</span><span>Requires</span><span> </span><span>=</span><span> </span><span>str_replace</span><span>(</span><span>Requires</span><span>,</span><span> </span><span>&quot;\n&quot;</span><span>,</span><span> </span><span>&quot;&quot;</span><span>))</span><span> </span><span>%>%</span><span>
</span><span>mutate</span><span>(</span><span>Requires</span><span> </span><span>=</span><span> </span><span>str_trim</span><span>(</span><span>str_replace</span><span>(</span><span>Requires</span><span>,</span><span> </span><span>&quot;\\(.*&quot;</span><span>,</span><span> </span><span>&quot;&quot;</span><span>)))</span><span> </span><span>%>%</span><span>
</span><span>filter</span><span>(</span><span>!</span><span>(</span><span>Requires</span><span> </span><span>%in%</span><span> </span><span>c</span><span>(</span><span>&quot;R&quot;</span><span>,</span><span> </span><span>&quot;NA&quot;</span><span>,</span><span> </span><span>&quot;&quot;</span><span>,</span><span> </span><span>built_in</span><span>)))</span><span>
</span><span>requirements</span></code></pre>
</figure>
<figure>
<pre><code data-lang="text">## # A tibble: 34,781 x 2
##    Package     Requires
##      &lt;chr>        &lt;chr>
## 1       A3       xtable
## 2       A3      pbapply
## 3       A3 randomForest
## 4       A3        e1071
## 5   abbyyR         httr
## 6   abbyyR          XML
## 7   abbyyR         curl
## 8   abbyyR        readr
## 9   abbyyR     progress
## 10  abbyyR     testthat
## # ... with 34,771 more rows</code></pre>
</figure>
<figure>
<pre><code data-lang="r"><span>package_info</span><span> </span><span>&lt;-</span><span> </span><span>requirements</span><span> </span><span>%>%</span><span>
</span><span>count</span><span>(</span><span>Package</span><span> </span><span>=</span><span> </span><span>Requires</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>rename</span><span>(</span><span>NRequiredBy</span><span> </span><span>=</span><span> </span><span>n</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>left_join</span><span>(</span><span>count</span><span>(</span><span>requirements</span><span>,</span><span> </span><span>Package</span><span>))</span><span> </span><span>%>%</span><span>
</span><span>rename</span><span>(</span><span>NRequires</span><span> </span><span>=</span><span> </span><span>n</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>replace_na</span><span>(</span><span>list</span><span>(</span><span>NRequires</span><span> </span><span>=</span><span> </span><span>0</span><span>))</span><span>
</span><span>package_info</span></code></pre>
</figure>
<figure>
<pre><code data-lang="text">## # A tibble: 2,925 x 3
##               Package NRequiredBy NRequires
##                 &lt;chr>       &lt;int>     &lt;dbl>
## 1              a4Base           1         0
## 2              a4Core           1         0
## 3                 abc           3         5
## 4            abc.data           2         0
## 5                 abd           1        12
## 6               abind          95         0
## 7  AcceptanceSampling           1         0
## 8             acepack           2         0
## 9                 acp           1         2
## 10                acs           3         4
## # ... with 2,915 more rows</code></pre>
</figure>
<p>We can compare the number of mentions in the hashtag to the number of pacakges:</p>
<p><img alt="center" src="https://i1.wp.com/varianceexplained.org/figs/2016-08-25-seven-fav-packages/unnamed-chunk-2-1.png?w=456" data-recalc-dims="1"></p>
<p>Some like dplyr, ggplot2, and knitr are popular both within the hashtag and as CRAN dependencies. Some relatively new packages like purrr are popular on Twitter but haven’t built up as many packages needing them, and others like plyr and foreach are a common dependency but are barely mentioned. (This isn’t even counting the many packages never mentioned in the hashtag).</p>
<p>Since we have this dependency data, I can’t resist looking for correlations just like we did with the hashtag data. What packages tend to be depended on together?</p>
<figure>
<pre><code data-lang="text">## # A tibble: 64,770 x 3
##            item1         item2 correlation
##            &lt;chr>         &lt;chr>       &lt;dbl>
## 1           R.oo   R.methodsS3   0.9031741
## 2    R.methodsS3          R.oo   0.9031741
## 3     doParallel       foreach   0.7341718
## 4        foreach    doParallel   0.7341718
## 5       timeDate    timeSeries   0.7084369
## 6     timeSeries      timeDate   0.7084369
## 7  gWidgetsRGtk2      gWidgets   0.6974373
## 8       gWidgets gWidgetsRGtk2   0.6974373
## 9           ergm       network   0.6336521
## 10       network          ergm   0.6336521
## # ... with 64,760 more rows</code></pre>
</figure>
<p><img alt="center" src="https://i0.wp.com/varianceexplained.org/figs/2016-08-25-seven-fav-packages/requirement_correlation_network-1.png?w=456" data-recalc-dims="1"></p>
<p>(I skipped the code for these, but you can find it all <a target="_blank" href="https://github.com/dgrtwo/dgrtwo.github.com/blob/master/_R/2016-08-25-seven-fav-packages.Rmd">here</a>).</p>
<p>Some observations from the full network (while it’s not related to the hashtag, still quite interesting):</p>
<ul>
<li>The RStudio cluster is prominent in the lower left, with ggplot2, knitr and testthat serving as the core anchors. A lot of packages depend on these in combination.</li>
<li>You can spot a tight cluster of spatial statistics packages in the upper left (around “sp”) and of machine learning packages near the bottom right (around caret, rpart, and nnet)</li>
<li>Smaller clusters include parallelization on the left (parallel, doParallel), time series forecasting on the upper right (zoo, xts, forecast), and parsing API data on top (RCurl, rjson, XML)</li>
</ul>
<p>One thing I like about this 2D layout (much as I’ve done with <a target="_blank" href="https://www.dropbox.com/s/erf2o5maa6ze6yn/DavidRobinsonJSMPoster.pdf?dl=0">programming languages using Stack Overflow data</a>) is that we can bring in our hashtag information, and spot visually what types of packages tended to be favorited.</p>
<p><img alt="center" src="https://i1.wp.com/varianceexplained.org/figs/2016-08-25-seven-fav-packages/unnamed-chunk-3-1.png?w=456" data-recalc-dims="1"></p>
<p>This confirms our observation that the favorited packages are slanted towards the tidyverse/RStudio cluster.</p>
<p>The #7First and #7Fav hashtags have been dying down a bit, but it may still be interesting to try this analysis for others, especially ones with more activity. Maëlle Salmon <a target="_blank" href="https://github.com/masalmon/first_7_jobs">is working on a great analysis of #7FirstJobs</a> and I’m sure others would be informative.</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/analysis-of-the-7favpackages-hashtag/"></div></div><div><a data-url="https://www.r-bloggers.com/analysis-of-the-7favpackages-hashtag/" data-counturl="https://www.r-bloggers.com/analysis-of-the-7favpackages-hashtag/" data-count="vertical" data-text="Analysis of the #7FavPackages hashtag" 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://varianceexplained.org/r/seven-fav-packages/"> Variance Explained</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/bSLkwtcd4Ms"></a></div>