<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/how-to-do-repeated-measures-anovas-in-r/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="https://neuropsychology.github.io/psycho.R//2018/05/01/repeated_measure_anovas.html"> Dominique Makowski</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<ul>
<li><a rel="nofollow" href="https://neuropsychology.github.io/psycho.R//2018/05/01/repeated_measure_anovas.html#dont-do-it" target="_blank">Don’t do it</a></li>
<li><a rel="nofollow" href="https://neuropsychology.github.io/psycho.R//2018/05/01/repeated_measure_anovas.html#the-emotion-dataset" target="_blank">The Emotion Dataset</a></li>
<li><a rel="nofollow" href="https://neuropsychology.github.io/psycho.R//2018/05/01/repeated_measure_anovas.html#the-effect-of-emotion" target="_blank">The effect of Emotion</a></li>
<li><a rel="nofollow" href="https://neuropsychology.github.io/psycho.R//2018/05/01/repeated_measure_anovas.html#post-hoc-contrast-analysis" target="_blank">Post-hoc / Contrast Analysis</a></li>
<li><a rel="nofollow" href="https://neuropsychology.github.io/psycho.R//2018/05/01/repeated_measure_anovas.html#interaction" target="_blank">Interaction</a></li>
<li><a rel="nofollow" href="https://neuropsychology.github.io/psycho.R//2018/05/01/repeated_measure_anovas.html#note" target="_blank">Note</a></li>
<li><a rel="nofollow" href="https://neuropsychology.github.io/psycho.R//2018/05/01/repeated_measure_anovas.html#credits" target="_blank">Credits</a></li>
</ul>
<h1>Don’t do it</h1>
<p><strong>Ha! Got ya!</strong> Trying to run some <em>old school</em> ANOVAs <em>hum</em>? <strong>I’ll show you even better!</strong></p>
<p>There is now a tremendous amount of data showing the inadequacy of ANOVAs as a statistical procedure (<a rel="nofollow" href="http://journals.sagepub.com/doi/abs/10.3102/10769986012001087" target="_blank">Camilli, 1987</a>; <a rel="nofollow" href="https://www.tandfonline.com/doi/abs/10.1080/00949657808810247" target="_blank">Levy, 1978</a>; <a rel="nofollow" href="https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1469-8986.1987.tb00324.x" target="_blank">Vasey, 1987</a>; <a rel="nofollow" href="https://link.springer.com/article/10.1007/s00180-009-0162-z" target="_blank">Chang, 2009</a>). Instead, many papers suggest moving toward the mixed-modelling framework (<a rel="nofollow" href="https://www.physiology.org/doi/abs/10.1152/advan.00042.2003" target="_blank">Kristensen, 2004</a>; <a rel="nofollow" href="https://www.sciencedirect.com/science/article/pii/S0749596X07001337" target="_blank">Jaeger, 2008</a>), which was shown to be more flexible, accurate, powerful and suited for psychological data.</p>
<p>Using this framework, we will see how we can very simply answer our questions with R and the <a rel="nofollow" href="https://github.com/neuropsychology/psycho.R" target="_blank">psycho</a> package.</p>
<h1>The Emotion Dataset</h1>
<p>Let’s take the example dataset included in the <code>psycho</code> package.</p>
<div>
<div>
<pre><code><span>library</span><span>(</span><span>psycho</span><span>)</span><span>
</span><span>library</span><span>(</span><span>tidyverse</span><span>)</span><span>
</span><span>df</span><span> </span><span>&lt;-</span><span> </span><span>psycho</span><span>::</span><span>emotion</span><span> </span><span>%>%</span><span> </span><span>select</span><span>(</span><span>Participant_ID</span><span>,</span><span> </span><span>Participant_Sex</span><span>,</span><span> </span><span>Emotion_Condition</span><span>,</span><span> </span><span>Subjective_Valence</span><span>,</span><span>
</span><span>Recall</span><span>)</span><span>
</span><span>summary</span><span>(</span><span>df</span><span>)</span><span>
</span></code></pre>
</div>
</div>
<div>
<div>
<pre><code> Participant_ID Participant_Sex Emotion_Condition Subjective_Valence
 10S    : 48    Female:720      Negative:456      Min.   :-100.000  
 11S    : 48    Male  :192      Neutral :456      1st Qu.: -65.104  
 12S    : 48                                      Median :  -2.604  
 13S    : 48                                      Mean   : -18.900  
 14S    : 48                                      3rd Qu.:   7.000  
 15S    : 48                                      Max.   : 100.000  
 (Other):624                                                        
   Recall       
 Mode :logical  
 FALSE:600      
 TRUE :312      
</code></pre>
</div>
</div>
<p>Our dataframe (called <code>df</code>) contains data from several participants, exposed to neutral and negative pictures (the <code>Emotion_Condition</code> column). Each row corresponds to a single trial. As there were 48 trials per participants, there are 48 rows by participant. During each trial, the participant had to rate its emotional valence (<code>Subjective_Valence</code>: positive – negative) experienced during the picture presentation. Moreover, 20min after this emotional rating task, the participant was asked to freely recall all the pictures he remembered.</p>
<p>Our dataframe contains, for each trial, 5 variables: the <strong>name of the participant</strong> (<code>Participant_ID</code>), its <strong>sex</strong> (<code>Participant_Sex</code>), the <strong>emotion condition</strong> (<code>Emotion_Condition</code>), the <strong>valence rating</strong> (<code>Subjective_Valence</code>) and whether the participant <strong>recalled</strong> the picture (<code>Recall</code>).</p>
<h1>The effect of Emotion</h1>
<p>Does the emotion condition modulate the subjective valence? How to answer?</p>
<p><strong>Whith a repeated measures ANOVA of course!</strong></p>
<p>Let’s run it:</p>
<div>
<div>
<pre><code><span>summary</span><span>(</span><span>aov</span><span>(</span><span>Subjective_Valence</span><span> </span><span>~</span><span> </span><span>Emotion_Condition</span><span> </span><span>+</span><span> </span><span>Error</span><span>(</span><span>Participant_ID</span><span>/</span><span>Emotion_Condition</span><span>),</span><span> </span><span>data</span><span>=</span><span>df</span><span>))</span><span>
</span></code></pre>
</div>
</div>
<div>
<div>
<pre><code>Error: Participant_ID
          Df Sum Sq Mean Sq F value Pr(>F)
Residuals 18 115474    6415               

Error: Participant_ID:Emotion_Condition
                  Df  Sum Sq Mean Sq F value   Pr(>F)    
Emotion_Condition  1 1278417 1278417   245.9 6.11e-12 ***
Residuals         18   93573    5198                     
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Error: Within
           Df Sum Sq Mean Sq F value Pr(>F)
Residuals 874 935646    1070               
</code></pre>
</div>
</div>
<p>Wow, we found that there is a significant effect of the emotional condition on valence ratings. <em>We might have Science material here.</em></p>
<p>As you know, an ANOVA is pretty much a <em>condensed</em> linear model where the predictors are factors. Therefore, we can run an ANOVA on a linear mixed model (which includes the “error” term, or <em>random effect</em>).</p>
<div>
<div>
<pre><code><span>library</span><span>(</span><span>lmerTest</span><span>)</span><span>
</span><span>fit</span><span> </span><span>&lt;-</span><span> </span><span>lmer</span><span>(</span><span>Subjective_Valence</span><span> </span><span>~</span><span> </span><span>Emotion_Condition</span><span> </span><span>+</span><span> </span><span>(</span><span>1</span><span>|</span><span>Participant_ID</span><span>),</span><span> </span><span>data</span><span>=</span><span>df</span><span>)</span><span>
</span><span>anova</span><span>(</span><span>fit</span><span>)</span><span>
</span></code></pre>
</div>
</div>
<div>
<div>
<pre><code>Type III Analysis of Variance Table with Satterthwaite's method
                   Sum Sq Mean Sq NumDF DenDF F value    Pr(>F)    
Emotion_Condition 1278417 1278417     1   892    1108 &lt; 2.2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
</code></pre>
</div>
</div>
<p>As you can see, the results are, for the important bits (the sum of squares, mean square and <em>p</em> value), very close to those of the <em>traditional</em> approach.</p>
<p>Note that the <code>psycho</code> package, through the <code>analyze</code> function, also allows to display the interpretation of the underlying model itself with the following:</p>
<div>
<div>
<pre><code><span>results</span><span> </span><span>&lt;-</span><span> </span><span>analyze</span><span>(</span><span>fit</span><span>)</span><span>
</span><span>print</span><span>(</span><span>results</span><span>)</span><span>
</span></code></pre>
</div>
</div>
<div>
<div>
<pre><code>The overall model predicting Subjective_Valence (formula = Subjective_Valence ~ Emotion_Condition + (1 | Participant_ID)) successfully converged and explained 56.73% of the variance of the endogen (the conditional R2). The variance explained by the fixed effects was of 52.62% (the marginal R2) and the one explained by the random effects of 4.11%. The model's intercept is at -56.34 (SE = 2.88, 95% CI [-62.07, -50.61]). Within this model:
   - The effect of Emotion_ConditionNeutral is  significant (beta = 74.88, SE = 2.25, 95% CI [70.47, 79.29], t(892.00) = 33.29, p &lt; .001***) and can be considered as medium (std. beta = 0.73, std. SE = 0.022).
</code></pre>
</div>
</div>
<h1>Post-hoc / Contrast Analysis</h1>
<p>Then, we wou’d like to see how the levels are different. To do this, we have to run a “contrast” analysis, comparing the estimated means of each level.</p>
<div>
<div>
<pre><code><span># We have to provide the model (here called fit and the factors we want to contrast</span><span>
</span><span>results</span><span> </span><span>&lt;-</span><span> </span><span>get_contrasts</span><span>(</span><span>fit</span><span>,</span><span> </span><span>&quot;Emotion_Condition&quot;</span><span>)</span><span>
</span><span>print</span><span>(</span><span>results</span><span>$</span><span>contrasts</span><span>)</span><span>
</span></code></pre>
</div>
</div>
<table>
<thead>
<tr>
<th>Contrast</th>
<th>Difference</th>
<th>SE</th>
<th>df</th>
<th>t.ratio</th>
<th>p.value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Negative – Neutral</td>
<td>-74.88</td>
<td>2.25</td>
<td>892</td>
<td>-33.29</td>
<td>0</td>
</tr>
</tbody>
</table>
<p>It appears that the negative condition yields a significantly lower valence (<em>i.e.</em>, more negative) than the neutral (-74.88 points of difference). At this point, we usually also want to know the means of each conditions. However, we often do it by directly computing the means and SDs of our observed data. But that’s not the cleanest way, as our data might be unbalanced or biased.</p>
<p>The best way to do it is to estimate means based on the fitted model (marginal means). Those were automatically computed when running the <code>get_contrasts</code> function. We just have to extract them.</p>
<table>
<thead>
<tr>
<th>Emotion_Condition</th>
<th>Mean</th>
<th>SE</th>
<th>df</th>
<th>CI_lower</th>
<th>CI_higher</th>
</tr>
</thead>
<tbody>
<tr>
<td>Negative</td>
<td>-56.34</td>
<td>2.88</td>
<td>25.04</td>
<td>-62.27</td>
<td>-50.41</td>
</tr>
<tr>
<td>Neutral</td>
<td>18.54</td>
<td>2.88</td>
<td>25.04</td>
<td>12.61</td>
<td>24.47</td>
</tr>
</tbody>
</table>
<p>Finally, we can plot these means:</p>
<div>
<div>
<pre><code><span>library</span><span>(</span><span>ggplot2</span><span>)</span><span>
</span><span>ggplot</span><span>(</span><span>results</span><span>$</span><span>means</span><span>,</span><span> </span><span>aes</span><span>(</span><span>x</span><span>=</span><span>Emotion_Condition</span><span>,</span><span> </span><span>y</span><span>=</span><span>Mean</span><span>,</span><span> </span><span>group</span><span>=</span><span>1</span><span>))</span><span> </span><span>+</span><span>
</span><span>geom_line</span><span>()</span><span> </span><span>+</span><span>
</span><span>geom_pointrange</span><span>(</span><span>aes</span><span>(</span><span>ymin</span><span>=</span><span>CI_lower</span><span>,</span><span> </span><span>ymax</span><span>=</span><span>CI_higher</span><span>))</span><span> </span><span>+</span><span>
</span><span>ylab</span><span>(</span><span>&quot;Subjective Valence&quot;</span><span>)</span><span> </span><span>+</span><span>
</span><span>xlab</span><span>(</span><span>&quot;Emotion Condition&quot;</span><span>)</span><span> </span><span>+</span><span>
</span><span>theme_bw</span><span>()</span><span>
</span></code></pre>
</div>
</div>
<p><img src="https://i1.wp.com/raw.githubusercontent.com/neuropsychology/psycho.R/master/docs/_posts/2018-05-01-repeated_measure_anovas_files/figure-markdown_github/unnamed-chunk-10-1.png?w=456&ssl=1" data-recalc-dims="1"></p>
<h1>Interaction</h1>
<p>Let’s repeat the previous steps with adding the participant’s <strong>sex</strong> as a predictor.</p>
<div>
<div>
<pre><code><span>fit</span><span> </span><span>&lt;-</span><span> </span><span>lmer</span><span>(</span><span>Subjective_Valence</span><span> </span><span>~</span><span> </span><span>Emotion_Condition</span><span> </span><span>*</span><span> </span><span>Participant_Sex</span><span> </span><span>+</span><span> </span><span>(</span><span>1</span><span>|</span><span>Participant_ID</span><span>),</span><span> </span><span>data</span><span>=</span><span>emotion</span><span>)</span><span>
</span><span>anova</span><span>(</span><span>fit</span><span>)</span><span>
</span></code></pre>
</div>
</div>
<div>
<div>
<pre><code>Type III Analysis of Variance Table with Satterthwaite's method
                                  Sum Sq Mean Sq NumDF DenDF  F value
Emotion_Condition                 703963  703963     1   891 621.8068
Participant_Sex                      520     520     1    17   0.4593
Emotion_Condition:Participant_Sex  20496   20496     1   891  18.1041
                                     Pr(>F)    
Emotion_Condition                 &lt; 2.2e-16 ***
Participant_Sex                      0.5071    
Emotion_Condition:Participant_Sex 2.313e-05 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
</code></pre>
</div>
</div>
<p>It seems that there is a significant main effect of the emotion condition, as well as an interaction with the participants’ sex. Let’s plot the estimated means.</p>
<div>
<div>
<pre><code><span>results</span><span> </span><span>&lt;-</span><span> </span><span>get_contrasts</span><span>(</span><span>fit</span><span>,</span><span> </span><span>&quot;Emotion_Condition * Participant_Sex&quot;</span><span>)</span><span>
</span><span>print</span><span>(</span><span>results</span><span>$</span><span>means</span><span>)</span><span>
</span></code></pre>
</div>
</div>
<table>
<thead>
<tr>
<th>Emotion_Condition</th>
<th>Participant_Sex</th>
<th>Mean</th>
<th>SE</th>
<th>df</th>
<th>CI_lower</th>
<th>CI_higher</th>
</tr>
</thead>
<tbody>
<tr>
<td>Negative</td>
<td>Female</td>
<td>-59.73</td>
<td>3.28</td>
<td>23.3</td>
<td>-66.51</td>
<td>-52.95</td>
</tr>
<tr>
<td>Neutral</td>
<td>Female</td>
<td>20.05</td>
<td>3.28</td>
<td>23.3</td>
<td>13.27</td>
<td>26.83</td>
</tr>
<tr>
<td>Negative</td>
<td>Male</td>
<td>-43.63</td>
<td>6.35</td>
<td>23.3</td>
<td>-56.76</td>
<td>-30.50</td>
</tr>
<tr>
<td>Neutral</td>
<td>Male</td>
<td>12.89</td>
<td>6.35</td>
<td>23.3</td>
<td>-0.24</td>
<td>26.02</td>
</tr>
</tbody>
</table>
<div>
<div>
<pre><code><span>ggplot</span><span>(</span><span>results</span><span>$</span><span>means</span><span>,</span><span> </span><span>aes</span><span>(</span><span>x</span><span>=</span><span>Emotion_Condition</span><span>,</span><span> </span><span>y</span><span>=</span><span>Mean</span><span>,</span><span> </span><span>color</span><span>=</span><span>Participant_Sex</span><span>,</span><span> </span><span>group</span><span>=</span><span>Participant_Sex</span><span>))</span><span> </span><span>+</span><span>
</span><span>geom_line</span><span>(</span><span>position</span><span> </span><span>=</span><span> </span><span>position_dodge</span><span>(</span><span>.3</span><span>))</span><span> </span><span>+</span><span>
</span><span>geom_pointrange</span><span>(</span><span>aes</span><span>(</span><span>ymin</span><span>=</span><span>CI_lower</span><span>,</span><span> </span><span>ymax</span><span>=</span><span>CI_higher</span><span>),</span><span> </span><span>position</span><span> </span><span>=</span><span> </span><span>position_dodge</span><span>(</span><span>.3</span><span>))</span><span> </span><span>+</span><span>
</span><span>ylab</span><span>(</span><span>&quot;Subjective Valence&quot;</span><span>)</span><span> </span><span>+</span><span>
</span><span>xlab</span><span>(</span><span>&quot;Emotion Condition&quot;</span><span>)</span><span> </span><span>+</span><span>
</span><span>theme_bw</span><span>()</span><span>
</span></code></pre>
</div>
</div>
<p><img src="https://i2.wp.com/raw.githubusercontent.com/neuropsychology/psycho.R/master/docs/_posts/2018-05-01-repeated_measure_anovas_files/figure-markdown_github/unnamed-chunk-14-1.png?w=456&ssl=1" data-recalc-dims="1"></p>
<p>Let’s investigate the contrasts:</p>
<div>
<div>
<pre><code><span>print</span><span>(</span><span>results</span><span>$</span><span>contrasts</span><span>)</span><span>
</span></code></pre>
</div>
</div>
<table>
<thead>
<tr>
<th>Contrast</th>
<th>Difference</th>
<th>SE</th>
<th>df</th>
<th>t.ratio</th>
<th>p.value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Negative,Female – Neutral,Female</td>
<td>-79.78</td>
<td>2.51</td>
<td>891.0</td>
<td>-31.81</td>
<td>0.00</td>
</tr>
<tr>
<td>Negative,Female – Negative,Male</td>
<td>-16.10</td>
<td>7.15</td>
<td>23.3</td>
<td>-2.25</td>
<td>0.14</td>
</tr>
<tr>
<td>Negative,Female – Neutral,Male</td>
<td>-72.62</td>
<td>7.15</td>
<td>23.3</td>
<td>-10.16</td>
<td>0.00</td>
</tr>
<tr>
<td>Neutral,Female – Negative,Male</td>
<td>63.67</td>
<td>7.15</td>
<td>23.3</td>
<td>8.91</td>
<td>0.00</td>
</tr>
<tr>
<td>Neutral,Female – Neutral,Male</td>
<td>7.15</td>
<td>7.15</td>
<td>23.3</td>
<td>1.00</td>
<td>0.75</td>
</tr>
<tr>
<td>Negative,Male – Neutral,Male</td>
<td>-56.52</td>
<td>4.86</td>
<td>891.0</td>
<td>-11.64</td>
<td>0.00</td>
</tr>
</tbody>
</table>
<p>It appears that the differences between men and women is not significant. However, by default, <code>get_contrasts</code> uses the Tukey method for p value adjustment. We can, with an exploratory mindset, <strong>turn off the p value correction</strong> (or choose other methods such as <em>bonferonni</em>, <em>fdr</em> and such).</p>
<div>
<div>
<pre><code><span>results</span><span> </span><span>&lt;-</span><span> </span><span>get_contrasts</span><span>(</span><span>fit</span><span>,</span><span> </span><span>&quot;Emotion_Condition * Participant_Sex&quot;</span><span>,</span><span> </span><span>adjust</span><span> </span><span>=</span><span> </span><span>&quot;none&quot;</span><span>)</span><span>
</span><span>print</span><span>(</span><span>results</span><span>$</span><span>contrasts</span><span>)</span><span>
</span></code></pre>
</div>
</div>
<table>
<thead>
<tr>
<th>Contrast</th>
<th>Difference</th>
<th>SE</th>
<th>df</th>
<th>t.ratio</th>
<th>p.value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Negative,Female – Neutral,Female</td>
<td>-79.78</td>
<td>2.51</td>
<td>891.0</td>
<td>-31.81</td>
<td>0.00</td>
</tr>
<tr>
<td>Negative,Female – Negative,Male</td>
<td>-16.10</td>
<td>7.15</td>
<td>23.3</td>
<td>-2.25</td>
<td>0.03</td>
</tr>
<tr>
<td>Negative,Female – Neutral,Male</td>
<td>-72.62</td>
<td>7.15</td>
<td>23.3</td>
<td>-10.16</td>
<td>0.00</td>
</tr>
<tr>
<td>Neutral,Female – Negative,Male</td>
<td>63.67</td>
<td>7.15</td>
<td>23.3</td>
<td>8.91</td>
<td>0.00</td>
</tr>
<tr>
<td>Neutral,Female – Neutral,Male</td>
<td>7.15</td>
<td>7.15</td>
<td>23.3</td>
<td>1.00</td>
<td>0.33</td>
</tr>
<tr>
<td>Negative,Male – Neutral,Male</td>
<td>-56.52</td>
<td>4.86</td>
<td>891.0</td>
<td>-11.64</td>
<td>0.00</td>
</tr>
</tbody>
</table>
<p>Without correcting for multiple comparisons, we observe that men rate the negative pictures as significantly less negative than women.</p>
<h1>Note</h1>
<p><strong>This analysis is even simpler in the Bayesian framework. See <a rel="nofollow" href="https://cran.r-project.org/package=psycho/vignettes/bayesian.html" target="_blank">this</a> tutorial.</strong></p>
<h1>Credits</h1>
<p>This package helped you? Don’t forget to cite the various packages you used <img alt="🙂" src="https://s.w.org/images/core/emoji/2.4/72x72/1f642.png" class="wp-smiley"></p>
<p>You can cite <code>psycho</code> as follows:</p>
<ul>
<li>Makowski, (2018). <em>The psycho Package: an Efficient and Publishing-Oriented Workflow for Psychological Science</em>. Journal of Open Source Software, 3(22), 470. <a rel="nofollow" href="https://doi.org/10.21105/joss.00470" target="_blank">https://doi.org/10.21105/joss.00470</a></li>
</ul>
	<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://neuropsychology.github.io/psycho.R//2018/05/01/repeated_measure_anovas.html"> Dominique Makowski</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 width="1" alt="" src="http://feeds.feedburner.com/~r/RBloggers/~4/8LyQLdUPV2o" height="1"></a></div>