<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/bar-bar-plots-but-not-babar-plots/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="http://masalmon.github.io/2017/02/19/babarplot/"> Maëlle</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<p>You might have heard of the <a target="_blank" rel="nofollow" href="https://twitter.com/search?q=%23barbarplots&src=typd">“bar bar plots” movement</a> whose goal is to prevent using (let’s use <code>ggplot2</code> language shall we) <code>geom_bar</code> when you could have used e.g. <code>geom_boxplot</code> or <code>geom_histogram</code> because the bar plot hides the variability of the distributions you say you’re comparing, even if you add some sort of error bar. I whole-heartedly agree with this movement but in this post I’d like to present some ok bar plots, that represent counts of individuals in different categories. You might know them as <code>geom_bar(blabla, stat = &quot;identity&quot;)</code> or <code>geom_col</code>. They’re still bar plots and they’re great, in particular when you make puns out of them which is what I did with <a target="_blank" rel="nofollow" href="https://twitter.com/MilesMcBain">Miles McBain</a>.<br>
<span></span></p>
<p>The reason I mentioned bar plots to Miles was my wanting to recycle some old code of mine (again) for a blog post. It was code from my “let’s test all the kitsch R plots have to offer” period, when I had started using <a target="_blank" rel="nofollow" href="https://github.com/leeper/colourlovers">Thomas Leeper’s <code>colourlovers</code> package</a> for adding patterns on bars.</p>
<p><code>colourlovers</code> is a great package for getting trendy colour palettes, although I’ll admit I’m a <code>viridis</code> person. But <code>colourlovers</code> also has patterns, about which the package documentation states “Patterns are images created on COLOURlovers using a specified palette of colors. They serve as examples of how to use the palette in practice.”. At the time I read those sentences I got really excited because I was convinced one could do <em>more</em> with patterns, like filling bar plots with them. In this post, I’ll prove you can, with my non-generalizable worflow.</p>
<div>
<pre><code><span>library</span><span>(</span><span>&quot;dplyr&quot;</span><span>)</span><span>
</span><span>library</span><span>(</span><span>&quot;tidyr&quot;</span><span>)</span><span>
</span><span>library</span><span>(</span><span>&quot;httr&quot;</span><span>)</span><span>
</span><span>library</span><span>(</span><span>&quot;grid&quot;</span><span>)</span><span>
</span><span>library</span><span>(</span><span>&quot;ggplot2&quot;</span><span>)</span><span>
</span><span>library</span><span>(</span><span>&quot;colourlovers&quot;</span><span>)</span><span>
</span></code></pre>
</div>
<h1>General comments on using patterns</h1>
<p>A pattern is a square image that I convert to a raster. This raster is a matrix with 200 rows and 200 columns. In this matrix $x_{i,j}$ represents the hex code of the colour of a pixel. Below I show how to get a pattern figure and how to plot it on its own.</p>
<div>
<pre><code><span># get pattern
</span><span>catsBlue</span><span> </span><span>&lt;-</span><span> </span><span>clpattern</span><span>(</span><span>id</span><span> </span><span>=</span><span> </span><span>&quot;3363032&quot;</span><span>)</span><span>
</span><span># get the URL of the picture corresponding to the pattern
</span><span>imageURL</span><span> </span><span>&lt;-</span><span> </span><span>catsBlue</span><span>$</span><span>imageUrl</span><span>
</span><span># get the picture
</span><span> </span><span>picture</span><span> </span><span>&lt;-</span><span> </span><span>content</span><span>(</span><span>GET</span><span>(</span><span>as.character</span><span>(</span><span>imageURL</span><span>)))</span><span>
</span><span># convert it to a raster
</span><span>img</span><span> </span><span>&lt;-</span><span> </span><span>as.raster</span><span>(</span><span>picture</span><span>)</span><span>
</span><span># plot it!
</span><span>plot</span><span>(</span><span>img</span><span>)</span><span>
</span></code></pre>
</div>
<p><img alt="plot of chunk unnamed-chunk-2" src="https://i0.wp.com/masalmon.github.io/figure/source/2017-02-19-babarplot/unnamed-chunk-2-1.png?w=456" data-recalc-dims="1"></p>
<p>This pattern can also be seen as a puzzle piece: one can copy the pattern several times and put each copy side by side and/or pile them up and get something that looks homogeneous with no problem at the border of each piece.</p>
<p>In <code>ggplot2</code>, I’ll add the patterns with <code>geom_point</code>. The main issue will be to re-size puzzle pieces (how big should be a single puzzle piece for the graph to look nice?), to paste pieces together (now many puzzle pieces?), and to crop the puzzle (the puzzle should not be bigger than the bar it covers, for instance).</p>
<h1>Writing code for decorating a bar plot</h1>
<p>Here is the original bar plot I aim to make fancier.</p>
<div>
<pre><code><span># Normal plot
</span><span>c</span><span> </span><span>&lt;-</span><span> </span><span>ggplot</span><span>(</span><span>mtcars</span><span>,</span><span> </span><span>aes</span><span>(</span><span>factor</span><span>(</span><span>cyl</span><span>)))</span><span>
</span><span>c</span><span> </span><span>&lt;-</span><span> </span><span>c</span><span> </span><span>+</span><span> </span><span>geom_bar</span><span>(</span><span>width</span><span> </span><span>=</span><span> </span><span>.5</span><span>,</span><span>
</span><span>aes</span><span>(</span><span>fill</span><span> </span><span>=</span><span> </span><span>factor</span><span>(</span><span>cyl</span><span>)))</span><span>+</span><span>
</span><span>theme</span><span>(</span><span>text</span><span> </span><span>=</span><span> </span><span>element_text</span><span>(</span><span>size</span><span>=</span><span>20</span><span>))</span><span>
</span><span>c</span><span>
</span></code></pre>
</div>
<p><img alt="plot of chunk unnamed-chunk-3" src="https://i0.wp.com/masalmon.github.io/figure/source/2017-02-19-babarplot/unnamed-chunk-3-1.png?w=456" data-recalc-dims="1"></p>
<p>Now, since my puzzle pieces are squares, I want the plot to have a x/y ratio such that the distance between two major grid lines on the x axis is the same as the distance as the distance between two major grid lines on the y axis.</p>
<div>
<pre><code><span>plotInfo</span><span> </span><span>&lt;-</span><span> </span><span>ggplot_build</span><span>(</span><span>c</span><span>)</span><span>
</span><span>extentX</span><span> </span><span>&lt;-</span><span> </span><span>diff</span><span>(</span><span>plotInfo</span><span>$</span><span>layout</span><span>$</span><span>panel_ranges</span><span>[[</span><span>1</span><span>]]</span><span>$</span><span>x.major_source</span><span>)[</span><span>1</span><span>]</span><span>
</span><span>extentY</span><span> </span><span>&lt;-</span><span> </span><span>diff</span><span>(</span><span>plotInfo</span><span>$</span><span>layout</span><span>$</span><span>panel_ranges</span><span>[[</span><span>1</span><span>]]</span><span>$</span><span>y.major_source</span><span>)[</span><span>1</span><span>]</span><span>
</span><span>c</span><span> </span><span>&lt;-</span><span> </span><span>c</span><span> </span><span>+</span><span> </span><span>coord_fixed</span><span>(</span><span>ratio</span><span> </span><span>=</span><span> </span><span>extentX</span><span>/</span><span>extentY</span><span>)</span><span>
</span><span>c</span><span>
</span></code></pre>
</div>
<p><img alt="plot of chunk unnamed-chunk-4" src="https://i1.wp.com/masalmon.github.io/figure/source/2017-02-19-babarplot/unnamed-chunk-4-1.png?w=456" data-recalc-dims="1"></p>
<p>I’ll reckon once again that since writing the code and publishing it I’ve slept many times and thus forgotten how I came up with the solution. Today I had to change the code for getting <code>extentY</code> and <code>extentX</code> a bit since <code>ggplot_build()</code> gives a slightly different output since <code>ggplot2</code> newest version was released.</p>
<p>I shall now get three patterns from colourlovers. I went on the website of colourlovers itself to find three patterns using the same template with different colours so I know their IDs.</p>
<div>
<pre><code><span># get the patterns
</span><span>get_patterns</span><span> </span><span>&lt;-</span><span> </span><span>function</span><span>(</span><span>id_blue</span><span>,</span><span> </span><span>id_red</span><span>,</span><span> </span><span>id_green</span><span>){</span><span>
</span><span>blue</span><span> </span><span>&lt;-</span><span> </span><span>clpattern</span><span>(</span><span>id</span><span> </span><span>=</span><span> </span><span>id_blue</span><span>)</span><span>
</span><span>red</span><span> </span><span>&lt;-</span><span> </span><span>clpattern</span><span>(</span><span>id</span><span> </span><span>=</span><span> </span><span>id_red</span><span>)</span><span>
</span><span>green</span><span> </span><span>&lt;-</span><span> </span><span>clpattern</span><span>(</span><span>id</span><span> </span><span>=</span><span> </span><span>id_green</span><span>)</span><span>
</span><span>list</span><span>(</span><span>red</span><span>,</span><span> </span><span>green</span><span>,</span><span> </span><span>blue</span><span>)</span><span>
</span><span>}</span><span>
</span><span>patterns</span><span> </span><span>&lt;-</span><span> </span><span>get_patterns</span><span>(</span><span>id_blue</span><span> </span><span>=</span><span> </span><span>4348319</span><span>,</span><span>
</span><span>id_red</span><span> </span><span>=</span><span> </span><span>4376078</span><span>,</span><span>
</span><span>id_green</span><span> </span><span>=</span><span> </span><span>4360659</span><span>)</span><span>
</span></code></pre>
</div>
<p>I shall first get one colour from each pattern and re-do the figure with these colours. I do this to have a legend later. I don’t want to try and reproduce parts of the patterns to get them in the legend.</p>
<div>
<pre><code><span>library</span><span>(</span><span>&quot;purrr&quot;</span><span>)</span><span>
</span><span>get_colors</span><span> </span><span>&lt;-</span><span> </span><span>function</span><span>(</span><span>pattern</span><span>){</span><span>
</span><span>pattern</span><span>$</span><span>colors</span><span>[</span><span>3</span><span>]</span><span>$</span><span>hex</span><span>
</span><span>}</span><span>
</span><span>addhash</span><span> </span><span>&lt;-</span><span> </span><span>function</span><span>(</span><span>color</span><span>){</span><span>
</span><span>paste0</span><span>(</span><span>&quot;#&quot;</span><span>,</span><span> </span><span>color</span><span>)</span><span>
</span><span>}</span><span>
</span><span>colors</span><span> </span><span>&lt;-</span><span> </span><span>map</span><span>(</span><span>patterns</span><span>,</span><span> </span><span>get_colors</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>map</span><span>(</span><span>addhash</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>unlist</span><span>()</span><span>
</span><span>c</span><span>2</span><span> </span><span>&lt;-</span><span> </span><span>c</span><span> </span><span>+</span><span> </span><span>scale_fill_manual</span><span>(</span><span>values</span><span> </span><span>=</span><span> </span><span>colors</span><span>)</span><span>
</span><span>c</span><span>2</span><span>
</span></code></pre>
</div>
<p><img alt="plot of chunk unnamed-chunk-6" src="https://i0.wp.com/masalmon.github.io/figure/source/2017-02-19-babarplot/unnamed-chunk-6-1.png?w=456" data-recalc-dims="1"></p>
<p>Now let’s add the patterns to the graph! It’s quite inelegant since I use a loop for adding things successively to the graph.</p>
<div>
<pre><code><span>add_patterns</span><span> </span><span>&lt;-</span><span> </span><span>function</span><span>(</span><span>plot</span><span>,</span><span> </span><span>patterns</span><span>,</span><span> </span><span>colors</span><span>){</span><span>
</span><span>for</span><span> </span><span>(</span><span>i</span><span> </span><span>in</span><span> </span><span>1</span><span>:</span><span>length</span><span>(</span><span>levels</span><span>(</span><span>factor</span><span>(</span><span>mtcars</span><span>$</span><span>cyl</span><span>)))){</span><span>
</span><span>imageURL</span><span> </span><span>&lt;-</span><span> </span><span>patterns</span><span>[[</span><span>i</span><span>]]</span><span>$</span><span>imageUrl</span><span>
</span><span># get pattern
</span><span> </span><span>picture</span><span> </span><span>&lt;-</span><span> </span><span>content</span><span>(</span><span>GET</span><span>(</span><span>as.character</span><span>(</span><span>imageURL</span><span>)))</span><span>
</span><span># picture is a 4 dimensional array
</span><span> </span><span>img</span><span> </span><span>&lt;-</span><span> </span><span>as.raster</span><span>(</span><span>picture</span><span>)</span><span>
</span><span># we have to repeat the data.frame/pattern
</span><span> </span><span># I repeat it so that one extentY = one square
</span><span> </span><span>xmax</span><span> </span><span>&lt;-</span><span> </span><span>1</span><span>
</span><span>ymax</span><span> </span><span>&lt;-</span><span> </span><span>sum</span><span>(</span><span>mtcars</span><span>$</span><span>cyl</span><span> </span><span>==</span><span> </span><span>levels</span><span>(</span><span>factor</span><span>(</span><span>mtcars</span><span>$</span><span>cyl</span><span>))[</span><span>i</span><span>])</span><span>
</span><span>size</span><span> </span><span>&lt;-</span><span> </span><span>ceiling</span><span>(</span><span>ymax</span><span>*</span><span>2</span><span>/</span><span>extentY</span><span>)</span><span>
</span><span>img2</span><span> </span><span>&lt;-</span><span> </span><span>apply</span><span>(</span><span>img</span><span>,</span><span>MARGIN</span><span>=</span><span>2</span><span>,</span><span>function</span><span>(</span><span>x</span><span>)</span><span> </span><span>rep</span><span>(</span><span>x</span><span>,</span><span>size</span><span>))</span><span>
</span><span># from matrix to data.frame
</span><span> </span><span>img2</span><span> </span><span>&lt;-</span><span> </span><span>tbl_df</span><span>(</span><span>as.data.frame</span><span>(</span><span>as.matrix</span><span>(</span><span>img2</span><span>)))</span><span>
</span><span># I change the column names so that they correspond to x coordinates </span><span> </span><span>names</span><span>(</span><span>img2</span><span>)</span><span> </span><span>&lt;-</span><span> </span><span>seq</span><span>(</span><span>i</span><span> </span><span>-</span><span> </span><span>0.25</span><span>,</span><span> </span><span>to</span><span> </span><span>=</span><span> </span><span>i</span><span> </span><span>+</span><span> </span><span>0.25</span><span>,</span><span> </span><span>length</span><span> </span><span>=</span><span> </span><span>ncol</span><span>(</span><span>img2</span><span>))</span><span>
</span><span># I transform the img2 so that I have one line = 1 x, 1 y and 1 colour
</span><span> </span><span>dataPlot</span><span> </span><span>&lt;-</span><span> </span><span>img2</span><span> </span><span>%>%</span><span> </span><span>mutate</span><span>(</span><span>y</span><span> </span><span>=</span><span> </span><span>seq</span><span>(</span><span>from</span><span> </span><span>=</span><span> </span><span>size</span><span>/</span><span>2</span><span>*</span><span>extentY</span><span>,</span><span> </span><span>to</span><span> </span><span>=</span><span> </span><span>0</span><span>,</span><span> </span><span>length</span><span> </span><span>=</span><span> </span><span>nrow</span><span>(</span><span>img2</span><span>)))</span><span>%>%</span><span> </span><span>gather</span><span>(</span><span>x</span><span>,</span><span> </span><span>value</span><span>,</span><span> </span><span>1</span><span>:</span><span>ncol</span><span>(</span><span>img2</span><span>))</span><span> </span><span>%>%</span><span>
</span><span># filter part of the pattern that doesn't fit in the original bar
</span><span> </span><span>filter</span><span>(</span><span>y</span><span> </span><span>&lt;=</span><span> </span><span>ymax</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>mutate</span><span>(</span><span>x</span><span> </span><span>=</span><span> </span><span>as.numeric</span><span>(</span><span>x</span><span>))</span><span>
</span><span>plot</span><span> </span><span>&lt;-</span><span> </span><span>plot</span><span> </span><span>+</span><span> </span><span>geom_point</span><span>(</span><span>data</span><span> </span><span>=</span><span> </span><span>dataPlot</span><span>,</span><span> </span><span>aes</span><span>(</span><span>x</span><span>,</span><span> </span><span>y</span><span>),</span><span> </span><span>col</span><span> </span><span>=</span><span> </span><span>dataPlot</span><span>$</span><span>value</span><span>)</span><span>
</span><span>}</span><span>
</span><span>plot</span><span>
</span><span>}</span><span>
</span><span>add_patterns</span><span>(</span><span>plot</span><span> </span><span>=</span><span> </span><span>c</span><span>2</span><span>,</span><span> </span><span>patterns</span><span> </span><span>=</span><span> </span><span>patterns</span><span>,</span><span> </span><span>colors</span><span> </span><span>=</span><span> </span><span>colors</span><span>)</span><span> </span><span>+</span><span>
</span><span>ggtitle</span><span>(</span><span>&quot;Babar bar plot&quot;</span><span>)</span><span>
</span></code></pre>
</div>
<p><img alt="plot of chunk unnamed-chunk-7" src="https://i2.wp.com/masalmon.github.io/figure/source/2017-02-19-babarplot/unnamed-chunk-7-1.png?w=456" data-recalc-dims="1"></p>
<p>We’ve just made a Babar bar plot! Thanks Miles for this pun. Now let’s apply the same principles again and by principles I mean applying the <code>colourlover</code> code I’ve just presented, and using puns developped with Miles. A recipe for success!</p>
<h1>Other punny plots</h1>
<h2>Barber plot</h2>
<div>
<pre><code><span>patterns</span><span> </span><span>&lt;-</span><span> </span><span>get_patterns</span><span>(</span><span>id_blue</span><span> </span><span>=</span><span> </span><span>3490878</span><span>,</span><span>
</span><span>id_red</span><span> </span><span>=</span><span> </span><span>3277163</span><span>,</span><span>
</span><span>id_green</span><span> </span><span>=</span><span> </span><span>4038034</span><span>)</span><span>
</span><span>colors</span><span> </span><span>&lt;-</span><span> </span><span>map</span><span>(</span><span>patterns</span><span>,</span><span> </span><span>get_colors</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>map</span><span>(</span><span>addhash</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>unlist</span><span>()</span><span>
</span><span>c</span><span>2</span><span> </span><span>&lt;-</span><span> </span><span>c</span><span> </span><span>+</span><span> </span><span>scale_fill_manual</span><span>(</span><span>values</span><span> </span><span>=</span><span> </span><span>colors</span><span>)</span><span>
</span><span>add_patterns</span><span>(</span><span>plot</span><span> </span><span>=</span><span> </span><span>c</span><span>2</span><span>,</span><span> </span><span>patterns</span><span> </span><span>=</span><span> </span><span>patterns</span><span>,</span><span> </span><span>colors</span><span> </span><span>=</span><span> </span><span>colors</span><span>)</span><span> </span><span>+</span><span>
</span><span>ggtitle</span><span>(</span><span>&quot;Barber bar plot&quot;</span><span>)</span><span>
</span></code></pre>
</div>
<p><img alt="plot of chunk unnamed-chunk-8" src="https://i0.wp.com/masalmon.github.io/figure/source/2017-02-19-babarplot/unnamed-chunk-8-1.png?w=456" data-recalc-dims="1"><br>
This is one plot decoration you could use to illustrate something about Occam’s razor.</p>
<h2>Bark plot</h2>
<div>
<pre><code><span>patterns</span><span> </span><span>&lt;-</span><span> </span><span>get_patterns</span><span>(</span><span>id_blue</span><span> </span><span>=</span><span> </span><span>1816764</span><span>,</span><span>
</span><span>id_red</span><span> </span><span>=</span><span> </span><span>1825775</span><span>,</span><span>
</span><span>id_green</span><span> </span><span>=</span><span> </span><span>1815897</span><span>)</span><span>
</span><span>colors</span><span> </span><span>&lt;-</span><span> </span><span>map</span><span>(</span><span>patterns</span><span>,</span><span> </span><span>get_colors</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>map</span><span>(</span><span>addhash</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>unlist</span><span>()</span><span>
</span><span>c</span><span>2</span><span> </span><span>&lt;-</span><span> </span><span>c</span><span> </span><span>+</span><span> </span><span>scale_fill_manual</span><span>(</span><span>values</span><span> </span><span>=</span><span> </span><span>colors</span><span>)</span><span>
</span><span>add_patterns</span><span>(</span><span>plot</span><span> </span><span>=</span><span> </span><span>c</span><span>2</span><span>,</span><span> </span><span>patterns</span><span> </span><span>=</span><span> </span><span>patterns</span><span>,</span><span> </span><span>colors</span><span> </span><span>=</span><span> </span><span>colors</span><span>)</span><span> </span><span>+</span><span>
</span><span>ggtitle</span><span>(</span><span>&quot;Bark bar plot&quot;</span><span>)</span><span>
</span></code></pre>
</div>
<p><img alt="plot of chunk unnamed-chunk-9" src="https://i1.wp.com/masalmon.github.io/figure/source/2017-02-19-babarplot/unnamed-chunk-9-1.png?w=456" data-recalc-dims="1"></p>
<p>I’m less convinced by this one, maybe it’d have looked better with barking dogs?</p>
<h2>BART plot</h2>
<div>
<pre><code><span>patterns</span><span> </span><span>&lt;-</span><span> </span><span>get_patterns</span><span>(</span><span>id_blue</span><span> </span><span>=</span><span> </span><span>1902711</span><span>,</span><span>
</span><span>id_red</span><span> </span><span>=</span><span> </span><span>1916712</span><span>,</span><span>
</span><span>id_green</span><span> </span><span>=</span><span> </span><span>1930435</span><span>)</span><span>
</span><span>colors</span><span> </span><span>&lt;-</span><span> </span><span>map</span><span>(</span><span>patterns</span><span>,</span><span> </span><span>get_colors</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>map</span><span>(</span><span>addhash</span><span>)</span><span> </span><span>%>%</span><span>
</span><span>unlist</span><span>()</span><span>
</span><span>c</span><span>2</span><span> </span><span>&lt;-</span><span> </span><span>c</span><span> </span><span>+</span><span> </span><span>scale_fill_manual</span><span>(</span><span>values</span><span> </span><span>=</span><span> </span><span>colors</span><span>)</span><span>
</span><span>add_patterns</span><span>(</span><span>plot</span><span> </span><span>=</span><span> </span><span>c</span><span>2</span><span>,</span><span> </span><span>patterns</span><span> </span><span>=</span><span> </span><span>patterns</span><span>,</span><span> </span><span>colors</span><span> </span><span>=</span><span> </span><span>colors</span><span>)</span><span> </span><span>+</span><span>
</span><span>ggtitle</span><span>(</span><span>&quot;BART bar plot&quot;</span><span>)</span><span>
</span></code></pre>
</div>
<p><img alt="plot of chunk unnamed-chunk-10" src="https://i1.wp.com/masalmon.github.io/figure/source/2017-02-19-babarplot/unnamed-chunk-10-1.png?w=456" data-recalc-dims="1"></p>
<p>This one is the loudest bar plot you’ll ever make since it was inspired by San Francisco BART. I might have come up with this idea after not finding a Bart Simpson pattern.</p>
<p>I told Miles I’d stop once I’d only think of a barf plot which I don’t want to draw ever. As I had said the first time I made a bar plot with patterns, I’m not sure how useful it is, but you never know when you’re gonna need a fancy plot to get someone’s attention, right?</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="http://masalmon.github.io/2017/02/19/babarplot/"> Maëlle</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/search/tutorial">tutorials</a> on topics such as: <a title="Data science" rel="nofollow" href="https://www.r-bloggers.com/search/data%20science">Data science</a>, <a title="Big Data" rel="nofollow" href="https://www.r-bloggers.com/search/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/search/ggplot2">ggplot2</a>, <a title="Boxplots using lattice and ggplot2 tutorials" rel="nofollow" href="https://www.r-bloggers.com/search/boxplot">Boxplots</a>, <a title="Maps and gis" rel="nofollow" href="https://www.r-bloggers.com/search/map">maps</a>, <a title="Animation in R" rel="nofollow" href="https://www.r-bloggers.com/search/animation">animation</a>), programming (<a title="RStudio IDE for R" rel="nofollow" href="https://www.r-bloggers.com/search/RStudio">RStudio</a>, <a title="Sweave and literate programming" rel="nofollow" href="https://www.r-bloggers.com/search/sweave">Sweave</a>, <a title="LaTeX in R" rel="nofollow" href="https://www.r-bloggers.com/search/LaTeX">LaTeX</a>, <a title="SQL and databases" rel="nofollow" href="https://www.r-bloggers.com/search/SQL">SQL</a>, <a title="Eclipse IDE for R" rel="nofollow" href="https://www.r-bloggers.com/search/eclipse">Eclipse</a>, <a title="git and github, Version Control System" rel="nofollow" href="https://www.r-bloggers.com/search/git">git</a>, <a title="Large data in R using Hadoop" rel="nofollow" href="https://www.r-bloggers.com/search/hadoop">hadoop</a>, <a title="Web Scraping of google, facebook, yahoo, twitter and more using R" rel="nofollow" href="https://www.r-bloggers.com/search/Web+Scraping">Web Scraping</a>) statistics (<a title="Regressions and ANOVA analysis tutorials" rel="nofollow" href="https://www.r-bloggers.com/search/regression">regression</a>, <a title="principal component analysis tutorial" rel="nofollow" href="https://www.r-bloggers.com/search/PCA">PCA</a>, <a title="Time series" rel="nofollow" href="https://www.r-bloggers.com/search/time+series">time series</a>, <a title="finance trading" rel="nofollow" href="https://www.r-bloggers.com/search/trading">trading</a>) and more...
<img height="1" alt="" width="1" src="http://feeds.feedburner.com/~r/RBloggers/~4/bhn0FY4q-cM"></a></div>