<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/to-eat-or-not-to-eat-thats-the-question-measuring-the-association-between-categorical-variables/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="http://apicdn.viglink.com/api/click?format=go&key=949efb41171ac6ec1bf7f206d57e90b8&loc=https%3A%2F%2Fwww.r-bloggers.com%2Ffeed%2F&out=http%3A%2F%2Ffeedproxy.google.com%2F%7Er%2FRStoriesDataSpeak%2F%7E3%2FqxFgHvQtbAs%2F"> Stories Data Speak</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<h3>1. Introduction</h3>
<p>I serve as a reviewer to several ISI and Scopus indexed journals in Information Technology. Recently, I was reviewing an article, wherein the researchers had made a critical mistake in data analysis. They converted the original <code>categorical</code> data to <code>continuous</code> without providing a rigorous statistical treatment, nor, any justification to the loss of information if any. Thus, my motivation to develop this study, is borne out of their error.</p>
<p>We know the standard association measure between continuous variables is the product-moment correlation coefficient introduced by Karl Pearson. This measure determines the degree of linear association between continuous variables and is both normalized to lie between -1 and +1 and symmetric: the correlation between variables x and y is the same as that between y and x. <em>the best-known association measure between two categorical variables is probably the chi-square measure, also introduced by Karl Pearson. Like the product-moment correlation coefficient, this association measure is symmetric, but it is not normalized. This lack of normalization provides one motivation for Cramer’s V, defined as the square root of a normalized chi-square value; the resulting association measure varies between 0 and 1 and is conveniently available via the assocstats function in the vcd package. An interesting alternative to Cramer’s V is Goodman and Kruskal’s tau, which is not nearly as well known and is asymmetric. This asymmetry arises because the tau measure is based on the fraction of variability in the categorical variable y that can be explained by the categorical variable x.</em> <a target="_blank" rel="nofollow" href="http://apicdn.viglink.com/api/click?format=go&key=949efb41171ac6ec1bf7f206d57e90b8&loc=https%3A%2F%2Fwww.r-bloggers.com%2Ffeed%2F&out=https%3A%2F%2Fcran.r-project.org%2Fweb%2Fpackages%2FGoodmanKruskal%2Fvignettes%2FGoodmanKruskal.html">1</a></p>
<p>The data for this study is sourced from UCI Machine Learning <a target="_blank" rel="nofollow" href="http://apicdn.viglink.com/api/click?format=go&key=949efb41171ac6ec1bf7f206d57e90b8&loc=https%3A%2F%2Fwww.r-bloggers.com%2Ffeed%2F&out=http%3A%2F%2Farchive.ics.uci.edu%2Fml%2Fmachine-learning-databases%2Fmushroom%2Fagaricus-lepiota.data">repository</a>. As it states in the <code>data information</code> section, “This data set includes descriptions of hypothetical samples corresponding to 23 species of gilled mushrooms in the Agaricus and Lepiota Family (pp. 500-525). Each species is identified as definitely edible, definitely poisonous, or of unknown edibility and not recommended. This latter class was combined with the poisonous one. The guide clearly states that there is no simple rule for determining the edibility of a mushroom;</p>
<p>Furthermore, the possible research questions, I want to explore are;</p>
<ul>
<li>Is significance test enough to justify a hypothesis?</li>
<li>How to measure associations between categorical predictors?</li>
</ul>
<h4>2. Making data management decisions</h4>
<p>As a first step, I imported the data in R environment as;</p>
<div>
<pre><code># Import data from UCI ML repo
> theURL&lt;- &quot;http://archive.ics.uci.edu/ml/machine-learning-databases/mushroom/agaricus-lepiota.data&quot;
# Explicitly adding the column headers from the data dictionary
> mushroom.data&lt;- read.csv(file = theURL, header = FALSE, sep = &quot;,&quot;,strip.white = TRUE,
                     stringsAsFactors = TRUE, 
                     col.names = c(&quot;class&quot;,&quot;cap-shape&quot;,&quot;cap-surface&quot;,&quot;cap-color&quot;,&quot;bruises&quot;,
                                   &quot;odor&quot;,&quot;gill-attachment&quot;,&quot;gill-spacing&quot;,&quot;gill-size&quot;,
                                   &quot;gill-color&quot;,&quot;stalk-shape&quot;,&quot;stalk-root&quot;,&quot;stalk-surface-above-ring&quot;,
                                   &quot;stalk-surface-below-ring&quot;,&quot;stalk-color-above-ring&quot;,&quot;stalk-color-below-ring&quot;,
                                   &quot;veil-type&quot;,&quot;veil-color&quot;,&quot;ring-number&quot;,&quot;ring-type&quot;,&quot;spore-print-color&quot;,
                                   &quot;population&quot;,&quot;habitat&quot;))
</code></pre>
</div>
<p>Next, I quickly summarize the dataset to get a brief glimpse. The reader’s should note that the data has no missing values.</p>
<div>
<pre><code># Calculate number of levels for each variable
> mushroom.data.levels&lt;-cbind.data.frame(Variable=names(mushroom.data), Total_Levels=sapply(mushroom.data,function(x){as.numeric(length(levels(x)))}))
> print(mushroom.data.levels)
                                         Variable Total_Levels
class                                       class            2
cap.shape                               cap.shape            5
cap.surface                           cap.surface            3
cap.color                               cap.color           10
bruises                                   bruises            2
odor                                         odor            8
gill.attachment                   gill.attachment            1
gill.spacing                         gill.spacing            2
gill.size                               gill.size            3
gill.color                             gill.color           10
stalk.shape                           stalk.shape            3
stalk.root                             stalk.root            6
stalk.surface.above.ring stalk.surface.above.ring            4
stalk.surface.below.ring stalk.surface.below.ring            5
stalk.color.above.ring     stalk.color.above.ring            7
stalk.color.below.ring     stalk.color.below.ring            8
veil.type                               veil.type            2
veil.color                             veil.color            2
ring.number                           ring.number            3
ring.type                               ring.type            5
spore.print.color               spore.print.color            7
population                             population            7
habitat                                   habitat            8
</code></pre>
</div>
<p>As we can see, the variable, <code>gill.attachement</code> has just one level. Nor, does it make any significant contribution to the target <code>class</code> so dropping it.</p>
<div>
<pre><code># dropping variable with constant variance
> mushroom.data$gill.attachment&lt;- NULL
</code></pre>
</div>
<p>The different levels are uninterpretable in their current format. I will use the data dictionary and recode the levels into meaningful names.</p>
<div>
<pre><code>> levels(mushroom.data$class)&lt;- c(&quot;edible&quot;,&quot;poisonous&quot;)
> levels(mushroom.data$cap.shape)&lt;-c(&quot;bell&quot;,&quot;conical&quot;,&quot;flat&quot;,&quot;knobbed&quot;,&quot;sunken&quot;,&quot;convex&quot;) 
> levels(mushroom.data$cap.surface)&lt;- c(&quot;fibrous&quot;,&quot;grooves&quot;,&quot;smooth&quot;,&quot;scaly&quot;)
> levels(mushroom.data$cap.color)&lt;- c(&quot;buff&quot;,&quot;cinnamon&quot;,&quot;red&quot;,&quot;gray&quot;,&quot;brown&quot;,&quot;pink&quot;,&quot;green&quot;,&quot;purple&quot;,&quot;white&quot;,&quot;yellow&quot;)
> levels(mushroom.data$bruises)&lt;- c(&quot;bruisesno&quot;,&quot;bruisesyes&quot;)
> levels(mushroom.data$odor)&lt;-c(&quot;almond&quot;,&quot;creosote&quot;,&quot;foul&quot;,&quot;anise&quot;,&quot;musty&quot;,&quot;nosmell&quot;,&quot;pungent&quot;,&quot;spicy&quot;,&quot;fishy&quot;)
> levels(mushroom.data$gill.attachment)&lt;- c(&quot;attached&quot;,&quot;free&quot;)
> levels(mushroom.data$gill.spacing)&lt;- c(&quot;close&quot;,&quot;crowded&quot;)
> levels(mushroom.data$gill.size)&lt;-c(&quot;broad&quot;,&quot;narrow&quot;)
> levels(mushroom.data$gill.color)&lt;- c(&quot;buff&quot;,&quot;red&quot;,&quot;gray&quot;,&quot;chocolate&quot;,&quot;black&quot;,&quot;brown&quot;,&quot;orange&quot;,&quot;pink&quot;,&quot;green&quot;,&quot;purple&quot;,&quot;white&quot;,&quot;yellow&quot;)
> levels(mushroom.data$stalk.shape)&lt;- c(&quot;enlarging&quot;,&quot;tapering&quot;)
> table(mushroom.data$stalk.root) # has a missing level coded as ?
   	?    b    c    e    r 
2480 3776  556 1120  192 
> levels(mushroom.data$stalk.root)&lt;- c(&quot;missing&quot;,&quot;bulbous&quot;,&quot;club&quot;,&quot;equal&quot;,&quot;rooted&quot;)
> levels(mushroom.data$stalk.surface.above.ring)&lt;-c(&quot;fibrous&quot;,&quot;silky&quot;,&quot;smooth&quot;,&quot;scaly&quot;)
> levels(mushroom.data$stalk.surface.below.ring)&lt;-c(&quot;fibrous&quot;,&quot;silky&quot;,&quot;smooth&quot;,&quot;scaly&quot;)
> levels(mushroom.data$stalk.color.above.ring)&lt;- c(&quot;buff&quot;,&quot;cinnamon&quot;,&quot;red&quot;,&quot;gray&quot;,&quot;brown&quot;,                &quot;orange&quot;,&quot;pink&quot;,&quot;white&quot;,&quot;yellow&quot;)
> levels(mushroom.data$stalk.color.below.ring)&lt;- c(&quot;buff&quot;,&quot;cinnamon&quot;,&quot;red&quot;,&quot;gray&quot;,&quot;brown&quot;,      &quot;orange&quot;,&quot;pink&quot;,&quot;white&quot;,&quot;yellow&quot;)
> levels(mushroom.data$veil.type)&lt;-c(&quot;partial&quot;)
> levels(mushroom.data$veil.color)&lt;- c(&quot;brown&quot;,&quot;orange&quot;,&quot;white&quot;,&quot;yellow&quot;)
> levels(mushroom.data$ring.number)&lt;-c(&quot;none&quot;,&quot;one&quot;,&quot;two&quot;)
> levels(mushroom.data$ring.type)&lt;- c(&quot;evanescent&quot;,&quot;flaring&quot;,&quot;large&quot;,&quot;none&quot;,&quot;pendant&quot;)
> levels(mushroom.data$spore.print.color)&lt;- c(&quot;buff&quot;,&quot;chocolate&quot;,&quot;black&quot;,&quot;brown&quot;,&quot;orange&quot;,&quot;green&quot;,&quot;purple&quot;,&quot;white&quot;,&quot;yellow&quot;)
> levels(mushroom.data$population)&lt;- c(&quot;abundant&quot;,&quot;clustered&quot;,&quot;numerous&quot;,&quot;scattered&quot;,&quot;several&quot;,&quot;solitary&quot;)
> levels(mushroom.data$habitat)&lt;-c(&quot;woods&quot;,&quot;grasses&quot;,&quot;leaves&quot;,&quot;meadows&quot;,&quot;paths&quot;,&quot;urban&quot;,&quot;waste&quot;)
</code></pre>
</div>
<h4>3. Initial data visualization</h4>
<h5>a. Is there a relationship between cap-surface and cap-shape of a mushroom?</h5>
<div>
<pre><code>> p&lt;- ggplot(data = mushroom.data, aes(x=cap.shape, y=cap.surface, color=class))
> p + geom_jitter(alpha=0.3) + scale_color_manual(breaks = c('edible','poisonous'),values=c('darkgreen','red'))
</code></pre>
</div>
<p><img alt="plot1" src="https://i0.wp.com/duttashi.github.io/images/casestudy_mushrooms_plot1.png?w=456&ssl=1" data-recalc-dims="1"></p>
<p>Fig-1: Mushroom cap-shape and cap-surface</p>
<p>From Fig-1, we can easily notice, the mushrooms with a, <code>flat</code> cap-shape and <code>scaly</code>, <code>smooth</code> or <code>fibrous</code> cap-surface are <code>poisonous</code>. While, the mushrooms with a, <code>bell</code>,<code>knob</code> or <code>sunken</code> cap-shape and are <code>fibrous</code>, <code>smooth</code> or <code>scaly</code> are <code>edible</code>. A majority of <code>flat</code> cap-shaped mushrooms with <code>scaly</code> or <code>smooth</code> cap surface are <code>poisonous</code>.</p>
<h5>b. Is mushroom habitat and its population related?</h5>
<div>
<pre><code>> p&lt;- ggplot(data = mushroom.data, aes(x=population, y=habitat, color=class))
> p + geom_jitter(alpha=0.3) +  
  	scale_color_manual(breaks = c('edible','poisonous'),values=c('darkgreen','red'))
</code></pre>
</div>
<p><img alt="plot2" src="https://i1.wp.com/duttashi.github.io/images/casestudy_mushrooms_plot2.png?w=456&ssl=1" data-recalc-dims="1"></p>
<p>Fig-2: Mushroom cap-shape and cap-surface</p>
<p>From Fig-2, we see that mushrooms which are <code>clustered</code> or <code>scattered</code> in population and living in <code>woods</code> are entirely <code>poisonous</code>. Those that live in <code>grasses</code>, <code>wasteland</code>, <code>meadows</code>, <code>leaves</code>, <code>paths</code> and <code>urban</code> area’s are <code>edible</code>.</p>
<h5>c. What’s the deal with living condition and odor?</h5>
<div>
<pre><code>> p&lt;- ggplot(data = mushroom.data, aes(x=habitat, y=habitat, color=class))
> p + geom_jitter(alpha=0.3) +scale_color_manual(breaks = c('edible','poisonous'),values=c('darkgreen','red'))
</code></pre>
</div>
<p><img alt="plot3" src="https://i1.wp.com/duttashi.github.io/images/casestudy_mushrooms_plot3.png?w=456&ssl=1" data-recalc-dims="1"></p>
<p>Fig-3: Mushroom habitat and odor</p>
<p>From Fig-3, we notice, the mushrooms with <code>fishy</code>, <code>spicy</code>,<code>pungent</code>, <code>foul</code>, <code>musty</code> and <code>creosote</code> odor are clearly marked <code>poisonous</code> irrespective of there habitat. Whereas the one’s with <code>almond</code>, <code>anise</code> odour are <code>edible</code> mushrooms. We also notice, that a minority of no odour mushrooms are poisonous while the one’s living in <code>meadows</code> are entirely poisonous in nature.</p>
<p>Although, there could be many other pretty visualizations but I will leave that as a future work.</p>
<p>I will now focus on exploratory data analysis.</p>
<h4>4. Exploratory data analysis</h4>
<h5>a. Correlation detection &amp; treatment for categorical predictors</h5>
<p>If we look at the structure of the dataset, we notice that each variable has several factor levels. Moreover, these levels are <code>unordered</code>. Such unordered categorical variables are termed as <strong>nominal variables</strong>. The opposite of unordered is ordered, we all know that. The <code>ordered</code> categorical variables are called, <strong>ordinal variables</strong>.</p>
<p>“In the measurement hierarchy, interval variables are highest, ordinal variables are next, and nominal variables are lowest. Statistical methods for variables of one type can also be used with variables at higher levels but not at lower levels.”, see <a target="_blank" rel="nofollow" href="http://apicdn.viglink.com/api/click?format=go&key=949efb41171ac6ec1bf7f206d57e90b8&loc=https%3A%2F%2Fwww.r-bloggers.com%2Ffeed%2F&out=https%3A%2F%2Fmathdept.iut.ac.ir%2Fsites%2Fmathdept.iut.ac.ir%2Ffiles%2FAGRESTI.PDF">Agresti</a></p>
<p>I found this <a target="_blank" rel="nofollow" href="http://apicdn.viglink.com/api/click?format=go&key=949efb41171ac6ec1bf7f206d57e90b8&loc=https%3A%2F%2Fwww.r-bloggers.com%2Ffeed%2F&out=https%3A%2F%2Fstats.idre.ucla.edu%2Fother%2Fmult-pkg%2Fwhatstat%2F">cheat-sheet</a> that can aid in determining the right kind of test to perform on categorical predictors (independent/explanatory variables). Also, this <a target="_blank" rel="nofollow" href="http://apicdn.viglink.com/api/click?format=go&key=949efb41171ac6ec1bf7f206d57e90b8&loc=https%3A%2F%2Fwww.r-bloggers.com%2Ffeed%2F&out=https%3A%2F%2Fstats.stackexchange.com%2Fquestions%2F108007%2Fcorrelations-with-categorical-variables">SO post</a> is very helpful. See the answer by user <code>gung</code>.</p>
<p>For categorical variables, the concept of correlation can be understood in terms of <strong>significance test</strong> and <strong>effect size (strength of association)</strong></p>
<p>The <strong>Pearson’s chi-squared test of independence</strong> is one of the most basic and common hypothesis tests in the statistical analysis of categorical data. It is a <strong>significance test</strong>. Given two categorical random variables, X and Y, the chi-squared test of independence determines whether or not there exists a statistical dependence between them. Formally, it is a hypothesis test. The chi-squared test assumes a null hypothesis and an alternate hypothesis. The general practice is, if the p-value that comes out in the result is less than a pre-determined significance level, which is <code>0.05</code> usually, then we reject the null hypothesis.</p>
<p><em>H0: The The two variables are independent</em></p>
<p><em>H1: The The two variables are dependent</em></p>
<p>The null hypothesis of the chi-squared test is that the two variables are independent and the alternate hypothesis is that they are related.</p>
<p>To establish that two categorical variables (or predictors) are dependent, the chi-squared statistic must have a certain cutoff. This cutoff increases as the number of classes within the variable (or predictor) increases.</p>
<p>In section 3a, 3b and 3c, I detected possible indications of dependency between variables by visualizing the predictors of interest. In this section, I will test to prove how well those dependencies are associated. First, I will apply the chi-squared test of independence to measure if the dependency is significant or not. Thereafter, I will apply the <strong>Goodman’s Kruskal Tau</strong> test to check for <strong>effect size (strength of association)</strong>.</p>
<h6>i. Pearson’s chi-squared test of independence (significance test)</h6>
<div>
<pre><code>> chisq.test(mushroom.data$cap.shape, mushroom.data$cap.surface, correct = FALSE)

Pearson's Chi-squared test

data:  mushroom.data$cap.shape and mushroom.data$cap.surface
X-squared = 1011.5, df = 15, p-value &lt; 2.2e-16
</code></pre>
</div>
<p>since the p-value is <code>&lt; 2.2e-16</code> is less than the cut-off value of <code>0.05</code>, we can reject the null hypothesis in favor of alternative hypothesis and conclude, that the variables, <code>cap.shape</code> and <code>cap.surface</code> are dependent to each other.</p>
<div>
<pre><code>> chisq.test(mushroom.data$habitat, mushroom.data$odor, correct = FALSE)

Pearson's Chi-squared test

data:  mushroom.data$habitat and mushroom.data$odor
X-squared = 6675.1, df = 48, p-value &lt; 2.2e-16    
</code></pre>
</div>
<p>Similarly, the variables <code>habitat</code> and <code>odor</code> are dependent to each other as the p-value <code>&lt; 2.2e-16</code> is less than the cut-off value <code>0.05</code>.</p>
<h6>ii. Effect size (strength of association)</h6>
<p>The measure of association does not indicate causality, but association–that is, whether a variable is associated with another variable. This measure of association also indicates the strength of the relationship, whether, weak or strong.</p>
<p>Since, I’m dealing with <code>nominal</code> categorical predictor’s, the <strong>Goodman and Kruskal’s tau</strong> measure is appropriate. Interested readers are invited to see pages 68 and 69 of the <a target="_blank" rel="nofollow" href="http://apicdn.viglink.com/api/click?format=go&key=949efb41171ac6ec1bf7f206d57e90b8&loc=https%3A%2F%2Fwww.r-bloggers.com%2Ffeed%2F&out=https%3A%2F%2Fmathdept.iut.ac.ir%2Fsites%2Fmathdept.iut.ac.ir%2Ffiles%2FAGRESTI.PDF">Agresti book</a>. More information on this test can be seen <a target="_blank" rel="nofollow" href="http://apicdn.viglink.com/api/click?format=go&key=949efb41171ac6ec1bf7f206d57e90b8&loc=https%3A%2F%2Fwww.r-bloggers.com%2Ffeed%2F&out=https%3A%2F%2Fcran.r-project.org%2Fweb%2Fpackages%2FGoodmanKruskal%2Fvignettes%2FGoodmanKruskal.html">here</a></p>
<div>
<pre><code>> library(GoodmanKruskal)
> varset1&lt;- c(&quot;cap.shape&quot;,&quot;cap.surface&quot;,&quot;habitat&quot;,&quot;odor&quot;,&quot;class&quot;)
> mushroomFrame1&lt;- subset(mushroom.data, select = varset1)
> GKmatrix1&lt;- GKtauDataframe(mushroomFrame1)
> plot(GKmatrix1, corrColors = &quot;blue&quot;)
</code></pre>
</div>
<p><img alt="plot4" src="https://i2.wp.com/duttashi.github.io/images/casestudy_mushrooms_plot4.png?w=456&ssl=1" data-recalc-dims="1"></p>
<p>In Fig-4, I have shown the association plot. This plot is based on the <code>corrplot</code> library. In this plot the diagonal element <code>K</code> refers to number of unique levels for each variable. The off-diagonal elements contain the forward and backward tau measures for each variable pair. Specifically, the numerical values appearing in each row represent the association measure τ(x,y)τ(x,y) from the variable xx indicated in the row name to the variable yy indicated in the column name.</p>
<p>The most obvious feature from this plot is the fact that the variable <code>odor</code> is almost perfectly predictable (i.e. τ(x,y)=0.94) from <code>class</code> and this forward association is quite strong. The forward association suggest that <em>x=</em><strong>odor</strong> (which has levels “almond”, “creosote”, “foul”, “anise”, “musty”, “nosmell”, “pungent”, “spicy”, “fishy”) is highly predictive of <em>y=</em><strong>class</strong> (which has levels “edible”, “poisonous”). This association between <code>odor</code> and <code>class</code> is strong and indicates that if we know a mushroom’s odor than we can easily predict its class being edible or poisonous.</p>
<p>On the contrary, the reverse association <em>y=</em><strong>class</strong> and <em>x=</em><strong>odor</strong>(i.e. τ(y,x)=0.34; is a strong association and indicates that if we know the mushroom’s class being edible or poisonous than its easy to predict its odor.</p>
<p>Earlier we have found <code>cap.shape</code> and <code>cap.surface</code> are dependent to each other (chi-squared significance test). Now, let’s see if the association is strong too or not. Again, from Fig-4, both the forward and reverse association suggest that <em>x=</em><strong>cap shape</strong> is weakly associated to <em>y=</em><strong>cap surface</strong> (i.e.τ(x,y)=0.03) and (i.e.τ(y,x)=0.01). Thus, we can safely say that although these two variables are significant but they are association is weak; i.e. it will be difficult to predict one from another.</p>
<p>Similarly, many more associations can be interpreted from plot-4. I invite interested reader’s to explore it further.</p>
<h4>5. Conclusion</h4>
<p>The primary objective of this study was to drive the message, <em>do not tamper the data without providing a credible justification</em>. The reason I chose categorical data for this study to provide an in-depth treatment of the various measures that can be applied to it. From my prior readings of statistical texts, I could recall that significance test alone was not enough justification; there had to be something more. It is then, I found the about the different types of association measures and it sure did cleared my doubts. In my next post, I will continue the current work by providing inferential and predictive analysis. For interested reader’s, I have uploaded the complete code on my Github repository in <a target="_blank" rel="nofollow" href="http://apicdn.viglink.com/api/click?format=go&key=949efb41171ac6ec1bf7f206d57e90b8&loc=https%3A%2F%2Fwww.r-bloggers.com%2Ffeed%2F&out=https%3A%2F%2Fgithub.com%2Fduttashi%2Flearnr%2Fblob%2Fmaster%2Fscripts%2FCaseStudy-UCI-PoisonousMushroomPredict.R">here</a></p>
<p><img height="1" alt="" width="1" src="http://feeds.feedburner.com/~r/RStoriesDataSpeak/~4/qxFgHvQtbAs"></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://apicdn.viglink.com/api/click?format=go&key=949efb41171ac6ec1bf7f206d57e90b8&loc=https%3A%2F%2Fwww.r-bloggers.com%2Ffeed%2F&out=http%3A%2F%2Ffeedproxy.google.com%2F%7Er%2FRStoriesDataSpeak%2F%7E3%2FqxFgHvQtbAs%2F"> Stories Data Speak</a></strong>.</div>
<hr>
<a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers.com</a> offers <strong><a rel="nofollow" href="http://apicdn.viglink.com/api/click?format=go&key=949efb41171ac6ec1bf7f206d57e90b8&loc=https%3A%2F%2Fwww.r-bloggers.com%2Ffeed%2F&out=https%3A%2F%2Ffeedburner.google.com%2Ffb%2Fa%2Fmailverify%3Furi%3DRBloggers">daily e-mail updates</a></strong> about <a title="The R Project for Statistical Computing" rel="nofollow" href="http://apicdn.viglink.com/api/click?format=go&key=949efb41171ac6ec1bf7f206d57e90b8&loc=https%3A%2F%2Fwww.r-bloggers.com%2Ffeed%2F&out=https%3A%2F%2Fwww.r-project.org%2F">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="http://apicdn.viglink.com/api/click?format=go&key=949efb41171ac6ec1bf7f206d57e90b8&loc=https%3A%2F%2Fwww.r-bloggers.com%2Ffeed%2F&out=https%3A%2F%2Fwww.r-users.com%2F">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/E7J7__f8IpM"></a></div>