<p><div><div><div><div data-show-faces="false" data-height="21" data-width="100" data-layout="button_count" data-send="true" data-href="https://www.r-bloggers.com/adding-different-annotation-to-each-facet-in-ggplot/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="https://buzzrbeeline.blog/2018/11/06/adding-different-annotation-to-each-facet-in-ggplot/"> Emma R</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<h1>Help! The same annotations go on every facet!</h1>
<p><img><img><img data-orig-file="https://buzzrbeeline.files.wordpress.com/2018/11/help.png?w=450&amp;h=366&amp;fit=600%2C366" data-orig-size="600,366" data-medium-file="https://buzzrbeeline.files.wordpress.com/2018/11/help.png?w=450&amp;h=366&amp;fit=600%2C366?w=300" data-attachment-id="290" data-image-meta="{" data-image-description="" src="https://buzzrbeeline.files.wordpress.com/2018/11/help.png?w=450&h=366&fit=600%2C366" data-permalink="https://buzzrbeeline.blog/2018/11/06/adding-different-annotation-to-each-facet-in-ggplot/help/" data-large-file="https://buzzrbeeline.files.wordpress.com/2018/11/help.png?w=450&amp;h=366&amp;fit=600%2C366?w=600" alt="help" data-image-title="help" sizes="(max-width: 600px) 100vw, 600px" data-comments-opened="1" class="wp-image-290" data-recalc-dims="1"><img data-orig-file="https://buzzrbeeline.files.wordpress.com/2018/11/confused.png?w=456" data-orig-size="320,264" data-medium-file="https://buzzrbeeline.files.wordpress.com/2018/11/confused.png?w=456?w=300" data-attachment-id="291" data-image-meta="{" data-image-description="" src="https://buzzrbeeline.files.wordpress.com/2018/11/confused.png?w=456" data-permalink="https://buzzrbeeline.blog/2018/11/06/adding-different-annotation-to-each-facet-in-ggplot/confused/" data-large-file="https://buzzrbeeline.files.wordpress.com/2018/11/confused.png?w=456?w=320" alt="confused" data-image-title="confused" sizes="(max-width: 320px) 100vw, 320px" data-comments-opened="1" class="wp-image-291" data-recalc-dims="1"></p>
<p>(with thanks to a student for sending me her attempt).</p>
<p>This is a question I get fairly often and the answer is not straightforward especially for those that are relatively new to R and <a rel="nofollow" href="https://ggplot2.tidyverse.org/" target="_blank">ggplot2</a>.</p>
<p>In this post, I will show you how to add <strong>different</strong> annotations to each facet. More like this:</p>
<p><img data-orig-file="https://buzzrbeeline.files.wordpress.com/2018/11/goalfig-12.png?w=456" data-orig-size="1344,960" data-medium-file="https://buzzrbeeline.files.wordpress.com/2018/11/goalfig-12.png?w=456?w=300" data-attachment-id="292" data-image-meta="{" data-image-description="" src="https://buzzrbeeline.files.wordpress.com/2018/11/goalfig-12.png?w=456" data-permalink="https://buzzrbeeline.blog/2018/11/06/adding-different-annotation-to-each-facet-in-ggplot/goalfig-1/" data-large-file="https://buzzrbeeline.files.wordpress.com/2018/11/goalfig-12.png?w=456?w=600" alt="goalfig-1" data-image-title="goalfig-1" sizes="(max-width: 600px) 100vw, 600px" data-comments-opened="1" class="wp-image-292" data-recalc-dims="1"></p>
<p>This is useful in its own right but can also help you understand <code>ggplot</code> better.</p>
<p>I will assume you have R Studio installed and have at least a little experience with it but I’m aiming to make this do-able for novices. I’ll also assume you’ve analysed your data so you know what annotations you want to add.</p>
<p>Faceting is a very useful feature of <code>ggplot</code> which allows you to efficiently plot subsets of your data next to each other.<br>
In this example the data are the wing lengths for males and females of two imaginary species of butterfly in two regions, north and south. Some of the results of a statistical analysis are shown with annotation.</p>
<h2>1. Preparation</h2>
<p>The first thing you want to do is make a folder on your computer where your code and the data for plotting will live. This is your working directory.<br>
Now get a copy of the data by saving this <a rel="nofollow" href="http://www-users.york.ac.uk/~er13/butterflies.txt" target="_blank">file</a> the folder you just made.</p>
<h2>2. Start in RStudio</h2>
<p>Start R Studio and set your working directory to the folder you created:</p>
<p><img alt="Setting your working directory" width="392" align="CENTER" src="https://i0.wp.com/buzzrbeeline.files.wordpress.com/2018/06/setwd.png?ssl=1&w=450" height="188"></p>
<p>Now start a new script file:</p>
<p><img alt="starting a new script file" width="315" align="CENTER" src="https://i1.wp.com/buzzrbeeline.files.wordpress.com/2018/06/newscript.png?ssl=1&w=450" height="300"></p>
<p>and save it as figure.R or similar.</p>
<h2>3. Load packages</h2>
<p>Make the packages you need available for use in this R Studio session by adding this code to your script and running it.</p>
<pre><code># package loading
library(ggplot2)
library(Rmisc)
</code></pre>
<h2>4. Read the data in to R</h2>
<p>The data are in a plain text file where the first row gives the column names. It can be read in to a dataframe with the <code>read.table()</code> command:</p>
<pre><code>butter &lt;- read.table(&quot;butterflies.txt&quot;, header = TRUE)
</code></pre>
<p>This each row in this data set is an individual butterfly and the columns are four variables:</p>
<ul>
<li><code>winglen</code> the wing length (in millimeters) of an individual</li>
<li><code>spp</code> its species, one of “F.concocti” or “F.flappa”</li>
<li><code>sex</code> its sex, one of “female” or “male”</li>
<li><code>region</code> where it is from, one of “North” or “South”</li>
</ul>
<h2>5. Summarise the data</h2>
<p>Our plot has the means and standard errors for each group and this requires us to summarize over the replicates which we can do with the <code>summarySE()</code> function:</p>
<pre><code>buttersum &lt;- summarySE(data = butter, measurevar = &quot;winglen&quot;, 
                     groupvars = c(&quot;spp&quot;, &quot;sex&quot;, &quot;region&quot;))
buttersum
</code></pre>
<pre>##          spp    sex region  N  winglen       sd        se       ci
## 1 F.concocti female  North 10 25.93591 4.303011 1.3607315 3.078189
## 2 F.concocti female  South 10 31.37000 4.275265 1.3519574 3.058340
## 3 F.concocti   male  North 10 23.22876 4.250612 1.3441617 3.040705
## 4 F.concocti   male  South 10 24.97000 4.957609 1.5677337 3.546460
## 5   F.flappa female  North 10 33.18389 4.286312 1.3554509 3.066243
## 6   F.flappa female  South 10 24.67000 3.270423 1.0341986 2.339520
## 7   F.flappa   male  North 10 24.46586 5.492053 1.7367398 3.928778
## 8   F.flappa   male  South 10 23.45000 3.012290 0.9525696 2.154862
</pre>
<p>A group is a species-sex-region combination.</p>
<h2>6. Plot</h2>
<p>We have four variables to plot. Three are explanatory: species, sex and region. We map one of the explanatory variables to the <em>x</em>-axis, one to different colours and one to the facets.</p>
<p>To plot North and South on separate facets, we tell <code>facet_grid()</code> to plot everything else (<code>.</code>) for each region:</p>
<pre><code>ggplot(data = buttersum, aes(x = spp, y = winglen)) +
  geom_point(aes(colour = sex), position = position_dodge(width = 1)) +
  geom_errorbar(aes(colour = sex, ymin = winglen - se, ymax = winglen + se), 
                width = .2, position = position_dodge(width = 1)) +
  ylim(0, 40) +
  facet_grid(. ~ region) 
</code></pre>
<p><img data-orig-file="https://buzzrbeeline.files.wordpress.com/2018/11/basicfacet-15.png?w=456" data-orig-size="1344,960" data-medium-file="https://buzzrbeeline.files.wordpress.com/2018/11/basicfacet-15.png?w=456?w=300" data-attachment-id="293" data-image-meta="{" data-image-description="" src="https://buzzrbeeline.files.wordpress.com/2018/11/basicfacet-15.png?w=456" data-permalink="https://buzzrbeeline.blog/2018/11/06/adding-different-annotation-to-each-facet-in-ggplot/basicfacet-1/" data-large-file="https://buzzrbeeline.files.wordpress.com/2018/11/basicfacet-15.png?w=456?w=600" alt="basicfacet-1" data-image-title="basicfacet-1" sizes="(max-width: 600px) 100vw, 600px" data-comments-opened="1" class="wp-image-293" data-recalc-dims="1"></p>
<h2>Build understanding</h2>
<p>This section will help you understand why facet annotations are done as they are but you can go straight to 7. Create a dataframe for the annotation information if you just want the code.</p>
<p>We plan to facet by region but in order to understand better, it is useful to first plot just one region. We can subset the data to achieve that:</p>
<h4>a) Subset</h4>
<pre><code># subset the northern region
butterN &lt;- butter[butter$region == &quot;North&quot;,]
</code></pre>
<h4>b) Summarise data subset for plotting</h4>
<pre><code>butterNsum &lt;- summarySE(data = butterN, measurevar = &quot;winglen&quot;, 
                       groupvars = c(&quot;spp&quot;, &quot;sex&quot;))
butterNsum
</code></pre>
<pre>##          spp    sex  N  winglen       sd       se       ci
## 1 F.concocti female 10 25.93591 4.303011 1.360732 3.078189
## 2 F.concocti   male 10 23.22876 4.250612 1.344162 3.040705
## 3   F.flappa female 10 33.18389 4.286312 1.355451 3.066243
## 4   F.flappa   male 10 24.46586 5.492053 1.736740 3.928778
</pre>
<h4>c) Plot subset</h4>
<p>Since we are dealing only with data from the North, we have just three variables to plot. We map one of the explanatory variables to the <em>x</em>-axis and the other to different colours:</p>
<pre><code>ggplot(data = butterNsum, aes(x = spp, y = winglen, colour = sex)) +
  geom_point(position = position_dodge(width = 1)) +
  geom_errorbar(aes(ymin = winglen - se, ymax = winglen + se), 
                width = .2, position = position_dodge(width = 1)) +
  ylim(0, 40)
</code></pre>
<p><img data-orig-file="https://buzzrbeeline.files.wordpress.com/2018/11/plotn1-15.png?w=456" data-orig-size="1344,960" data-medium-file="https://buzzrbeeline.files.wordpress.com/2018/11/plotn1-15.png?w=456?w=300" data-attachment-id="294" data-image-meta="{" data-image-description="" src="https://buzzrbeeline.files.wordpress.com/2018/11/plotn1-15.png?w=456" data-permalink="https://buzzrbeeline.blog/2018/11/06/adding-different-annotation-to-each-facet-in-ggplot/plotn1-1/" data-large-file="https://buzzrbeeline.files.wordpress.com/2018/11/plotn1-15.png?w=456?w=600" alt="plotN1-1" data-image-title="plotN1-1" sizes="(max-width: 600px) 100vw, 600px" data-comments-opened="1" class="wp-image-294" data-recalc-dims="1"></p>
<ul>
<li><code>data = butterNsum</code> tells ggplot which dataframe to plot (the summary)
<ul>
<li><code>aes(x = spp, y = winglen, colour = sex)</code> the “aesthetic mappings” specify where to put each variable. Aesthetic mappings given in the <code>ggplot()</code> statement will apply to every “layer” in the plot unless otherwise specified.</li>
</ul>
</li>
<li><code>geom_point()</code> the first “layer” adds points
<ul>
<li><code>position = position_dodge(width = 1)</code> indicates female and male means should be plotted side-by-side for each species not on top on each other</li>
</ul>
</li>
<li><code>geom_errorbar()</code> the second layer adds the error bars. These must also be position dodged so they appear on the points.
<ul>
<li><code>aes(ymin = winglen - se, ymax = winglen + se)</code> The error bars need new aesthetic mappings because they are not at winglen (the mean in the summary) but at the mean – the standard error and the mean + the standard error. Since all of that information is inside butterNsum, we do not need to give the data argument again.</li>
</ul>
</li>
</ul>
<h4>d) Annotate this plot (i)</h4>
<p>The annotation is composed of three lines – or segments – and some text. Each segment has a start <em>(x, y)</em> and an end <em>(xend, yend)</em> which we need to specify. The text is centered on its <em>(x, y)</em></p>
<p>The <em>x</em>-axis has two categories which have the internal coding of 1 and 2. We want the annotation to start a bit before 2 and finish a bit after 2.</p>
<p>Note that position_dodge() units are twice the category axis units in this example.</p>
<pre><code>ggplot(data = butterNsum, aes(x = spp, y = winglen, colour = sex)) +
  geom_point(position = position_dodge(width = 1)) +
  geom_errorbar(aes(ymin = winglen - se, ymax = winglen + se), 
                width = .2, position = position_dodge(width = 1)) +
  geom_text(x = 2,  y = 38, 
           label = &quot;***&quot;, 
           colour = &quot;black&quot;) +
  geom_segment(x = 1.75, xend = 1.75, 
           y = 36, yend = 37,
           colour = &quot;black&quot;) +
  geom_segment(x = 2.25, xend = 2.25, 
           y = 36, yend = 37,
           colour = &quot;black&quot;) +
  geom_segment(x = 1.75, xend = 2.25, 
           y = 37, yend = 37,
           colour = &quot;black&quot;) +
  ylim(0, 40)
</code></pre>
<p><img data-orig-file="https://buzzrbeeline.files.wordpress.com/2018/11/plotn-15.png?w=456" data-orig-size="1344,960" data-medium-file="https://buzzrbeeline.files.wordpress.com/2018/11/plotn-15.png?w=456?w=300" data-attachment-id="295" data-image-meta="{" data-image-description="" src="https://buzzrbeeline.files.wordpress.com/2018/11/plotn-15.png?w=456" data-permalink="https://buzzrbeeline.blog/2018/11/06/adding-different-annotation-to-each-facet-in-ggplot/plotn-1/" data-large-file="https://buzzrbeeline.files.wordpress.com/2018/11/plotn-15.png?w=456?w=600" alt="plotN-1" data-image-title="plotN-1" sizes="(max-width: 600px) 100vw, 600px" data-comments-opened="1" class="wp-image-295" data-recalc-dims="1"></p>
<h4>e) Annotate this plot (ii)</h4>
<p>Instead of hard coding the co-ordinates into the plot, we could have put them in a dataframe with a column for each <em>x</em> or <em>y</em> as follows:</p>
<p><img alt="plot of chunk diag" src="https://buzzrbeeline.files.wordpress.com/2018/11/diag-14.png?w=456" data-recalc-dims="1"></p>
<pre><code>anno &lt;- data.frame(x1 = 1.75, x2 = 2.25, y1 = 36, y2 = 37, xstar = 2, ystar = 38, lab = &quot;***&quot;)
anno
</code></pre>
<pre>##     x1   x2 y1 y2 xstar ystar lab
## 1 1.75 2.25 36 37     2    38 ***
</pre>
<p>Then give a dataframe argument to <code>geom_segment()</code> and <code>geom_text()</code> and the aesthetic mappings for that dataframe. We also need to move the colour mapping from the <code>ggplot()</code> statement to the <code>geom_point()</code> and <code>geom_errorbar()</code>.</p>
<p>This is because the mappings applied in the <code>ggplot()</code> will apply to every layer unless otherwise specified and if the colour mapping stays there, <code>geom_segment()</code> and <code>geom_text()</code> will try to find the variable ‘sex’ in the anno dataframe.</p>
<pre><code>ggplot(data = butterNsum, aes(x = spp, y = winglen)) +
  geom_point(aes(colour = sex), position = position_dodge(width = 1)) +
  geom_errorbar(aes(colour = sex, ymin = winglen - se, ymax = winglen + se), 
                width = .2, position = position_dodge(width = 1)) +
  ylim(0, 40) +
  geom_text(data = anno, aes(x = xstar,  y = ystar, label = lab)) +
  geom_segment(data = anno, aes(x = x1, xend = x1, 
           y = y1, yend = y2),
           colour = &quot;black&quot;) +
  geom_segment(data = anno, aes(x = x2, xend = x2, 
           y = y1, yend = y2),
           colour = &quot;black&quot;) +
  geom_segment(data = anno, aes(x = x1, xend = x2, 
           y = y2, yend = y2),
           colour = &quot;black&quot;)
</code></pre>
<p><img data-orig-file="https://buzzrbeeline.files.wordpress.com/2018/11/plotn-15.png?w=456" data-orig-size="1344,960" data-medium-file="https://buzzrbeeline.files.wordpress.com/2018/11/plotn-15.png?w=456?w=300" data-attachment-id="295" data-image-meta="{" data-image-description="" src="https://buzzrbeeline.files.wordpress.com/2018/11/plotn-15.png?w=456" data-permalink="https://buzzrbeeline.blog/2018/11/06/adding-different-annotation-to-each-facet-in-ggplot/plotn-1/" data-large-file="https://buzzrbeeline.files.wordpress.com/2018/11/plotn-15.png?w=456?w=600" alt="plotN-1" data-image-title="plotN-1" sizes="(max-width: 600px) 100vw, 600px" data-comments-opened="1" class="wp-image-295" data-recalc-dims="1"></p>
<h2>7. Create a dataframe for the annotation information</h2>
<p>The easiest way to annotate for each facet separately is to create a dataframe with a row for each facet:</p>
<p><img alt="plot of chunk diag2" src="https://buzzrbeeline.files.wordpress.com/2018/11/diag2-14.png?w=456" data-recalc-dims="1"></p>
<pre><code>anno &lt;- data.frame(x1 = c(1.75, 0.75), x2 = c(2.25, 1.25), 
                   y1 = c(36, 36), y2 = c(37, 37), 
                   xstar = c(2, 1), ystar = c(38, 38),
                   lab = c(&quot;***&quot;, &quot;**&quot;),
                   region = c(&quot;North&quot;, &quot;South&quot;))
anno
</code></pre>
<pre>##     x1   x2 y1 y2 xstar ystar lab region
## 1 1.75 2.25 36 37     2    38 ***  North
## 2 0.75 1.25 36 37     1    38  **  South
</pre>
<h2>7. Annotate the plot</h2>
<p>Use the annotation dataframe as the value for the data argument in <code>geom_segment()</code> and <code>geom_text()</code><br>
New aesthetic mappings will be needed too:</p>
<pre><code>ggplot(data = buttersum, aes(x = spp, y = winglen)) +
  geom_point(aes(colour = sex), position = position_dodge(width = 1)) +
  geom_errorbar(aes(colour = sex, ymin = winglen - se, ymax = winglen + se), 
                width = .2, position = position_dodge(width = 1)) +
  ylim(0, 40) +
  geom_text(data = anno, aes(x = xstar,  y = ystar, label = lab)) +
  geom_segment(data = anno, aes(x = x1, xend = x1, 
           y = y1, yend = y2),
           colour = &quot;black&quot;) +
  geom_segment(data = anno, aes(x = x2, xend = x2, 
           y = y1, yend = y2),
           colour = &quot;black&quot;) +
  geom_segment(data = anno, aes(x = x1, xend = x2, 
           y = y2, yend = y2),
           colour = &quot;black&quot;)+
  facet_grid(. ~ region) 
</code></pre>
<p><img data-orig-file="https://buzzrbeeline.files.wordpress.com/2018/11/annofacet-15.png?w=456" data-orig-size="1344,960" data-medium-file="https://buzzrbeeline.files.wordpress.com/2018/11/annofacet-15.png?w=456?w=300" data-attachment-id="296" data-image-meta="{" data-image-description="" src="https://buzzrbeeline.files.wordpress.com/2018/11/annofacet-15.png?w=456" data-permalink="https://buzzrbeeline.blog/2018/11/06/adding-different-annotation-to-each-facet-in-ggplot/annofacet-1/" data-large-file="https://buzzrbeeline.files.wordpress.com/2018/11/annofacet-15.png?w=456?w=600" alt="annofacet-1" data-image-title="annofacet-1" sizes="(max-width: 600px) 100vw, 600px" data-comments-opened="1" class="wp-image-296" data-recalc-dims="1"></p>
<p>Or a little more report friendly:</p>
<pre><code>ggplot(data = buttersum, aes(x = spp, y = winglen)) +
  geom_point(aes(shape = sex), position = position_dodge(width = 1), size = 2) +
  scale_shape_manual(values = c(1, 19), labels = c(&quot;Female&quot;, &quot;Male&quot;) )+
  geom_errorbar(aes(group = sex, ymin = winglen - se, ymax = winglen + se), 
                width = .2, position = position_dodge(width = 1)) +
  ylim(0, 40) +
  ylab(&quot;Wing length (mm)&quot;) +
  xlab(&quot;&quot;) +
  geom_text(data = anno, aes(x = xstar,  y = ystar, label = lab)) +
  geom_segment(data = anno, aes(x = x1, xend = x1, 
           y = y1, yend = y2),
           colour = &quot;black&quot;) +
  geom_segment(data = anno, aes(x = x2, xend = x2, 
           y = y1, yend = y2),
           colour = &quot;black&quot;) +
  geom_segment(data = anno, aes(x = x1, xend = x2, 
           y = y2, yend = y2),
           colour = &quot;black&quot;)+
  facet_grid(. ~ region) +
  theme(panel.background = element_rect(fill = &quot;white&quot;, colour = &quot;black&quot;),
        strip.background = element_rect(fill = &quot;white&quot;, colour = &quot;black&quot;),
        legend.key = element_blank(),
        legend.title = element_blank())
</code></pre>
<p><img data-orig-file="https://buzzrbeeline.files.wordpress.com/2018/11/annofacet2-15.png?w=456" data-orig-size="1344,960" data-medium-file="https://buzzrbeeline.files.wordpress.com/2018/11/annofacet2-15.png?w=456?w=300" data-attachment-id="297" data-image-meta="{" data-image-description="" src="https://buzzrbeeline.files.wordpress.com/2018/11/annofacet2-15.png?w=456" data-permalink="https://buzzrbeeline.blog/2018/11/06/adding-different-annotation-to-each-facet-in-ggplot/annofacet2-1/" data-large-file="https://buzzrbeeline.files.wordpress.com/2018/11/annofacet2-15.png?w=456?w=600" alt="annofacet2-1" data-image-title="annofacet2-1" sizes="(max-width: 600px) 100vw, 600px" data-comments-opened="1" class="wp-image-297" data-recalc-dims="1"></p>
<p>If you want to add images to each facet you can use the <code>ggimage</code> package. I covered this in a previous blog, <a rel="nofollow" href="https://buzzrbeeline.blog/2018/06/13/fun-and-easy-r-graphs-with-images/" target="_blank">Fun and easy R graphs with images</a><br>
You need to add column to your annotation dataframe.</p>
<h2>Package references</h2>
<p>Hope R.M. (2013). Rmisc: Rmisc: Ryan Miscellaneous. R package version 1.5. <a rel="nofollow" href="https://cran.r-project.org/package=Rmisc" target="_blank">https://CRAN.R-project.org/package=Rmisc</a></p>
<p>Wickham H. (2016). ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York. ISBN 978-3-319-24277-4</p>
<p>Yu G. (2018). ggimage: Use Image in ‘ggplot2’. R package version 0.1.7. <a rel="nofollow" href="https://cran.r-project.org/package=ggimage" target="_blank">https://CRAN.R-project.org/package=ggimage</a></p>
<p>R and all it’s packages are free so don’t forget to cite the awesome contributors.<br>
<a rel="nofollow" href="https://buzzrbeeline.blog/2018/06/15/its-easy-to-cite-and-reference-r/" target="_blank">How to cite packages in R</a></p>
	<p>
<div>
<div>To <strong>leave a comment</strong> for the author, please follow the link and comment on their blog: <strong><a href="https://buzzrbeeline.blog/2018/11/06/adding-different-annotation-to-each-facet-in-ggplot/"> Emma R</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 rel="nofollow" href="https://www.r-project.org/" title="The R Project for Statistical Computing">R</a> news and <a rel="nofollow" href="https://www.r-bloggers.com/search/tutorial" title="R tutorials">tutorials</a> on topics such as: <a rel="nofollow" href="https://www.r-bloggers.com/search/data%20science" title="Data science">Data science</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Big%20Data" title="Big Data">Big Data, <a rel="nofollow" href="https://www.r-users.com/" title="R jobs">R jobs</a>, visualization (<a rel="nofollow" href="https://www.r-bloggers.com/search/ggplot2" title="ggplot and ggplot2 tutorials">ggplot2</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/boxplot" title="Boxplots using lattice and ggplot2 tutorials">Boxplots</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/map" title="Maps and gis">maps</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/animation" title="Animation in R">animation</a>), programming (<a rel="nofollow" href="https://www.r-bloggers.com/search/RStudio" title="RStudio IDE for R">RStudio</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/sweave" title="Sweave and literate programming">Sweave</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/LaTeX" title="LaTeX in R">LaTeX</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/SQL" title="SQL and databases">SQL</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/eclipse" title="Eclipse IDE for R">Eclipse</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/git" title="git and github, Version Control System">git</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/hadoop" title="Large data in R using Hadoop">hadoop</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Web+Scraping" title="Web Scraping of google, facebook, yahoo, twitter and more using R">Web Scraping</a>) statistics (<a rel="nofollow" href="https://www.r-bloggers.com/search/regression" title="Regressions and ANOVA analysis tutorials">regression</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/PCA" title="principal component analysis tutorial">PCA</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/time+series" title="Time series">time series</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/trading" title="finance trading">trading</a>) and more...
<img alt="" width="1" src="http://feeds.feedburner.com/~r/RBloggers/~4/VePeTwivAm4" height="1"></a></div>