<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/quick-round-up-visualising-flows-using-network-and-sankey-diagrams-in-python-and-r/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="https://blog.ouseful.info/2017/11/28/quick-round-up-visualising-flows-using-network-and-sankey-diagrams-in-python-and-r/"> Rstats – OUseful.Info, the blog…</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<p>Got some data, relating to how students move from one module to another. Rows are student ID, module code, presentation date. The flow is not well-behaved. Students may take multiple modules in one presentation, and modules may be taken in any order (which means there are loops…).</p>
<p>My first take on the data was just to treat it as a graph and chart flows without paying attention to time other than to direct the edges (<em>module A</em> taken directky after <em>module B</em>; if multiple modules are taken by the same student in the same presentation, they both have the same precursor(s) and follow on module(s), if any) – the following (dummy) data shows the sort of thing we can get out using <code>networkx</code> and the <a rel="nofollow" href="https://github.com/pygraphviz/pygraphviz" target="_blank"><code>pygraphviz</code></a> output:</p>
<p><img data-orig-file="https://ouseful.files.wordpress.com/2017/11/faculty_grads.png?w=380&amp;h=332&amp;fit=380%2C332&amp;resize=380%2C332" data-orig-size="1366,1192" data-medium-file="https://ouseful.files.wordpress.com/2017/11/faculty_grads.png?w=380&amp;h=332&amp;fit=380%2C332&amp;resize=380%2C332?w=300" data-attachment-id="17154" data-image-meta="{" data-image-description="" src="https://ouseful.files.wordpress.com/2017/11/faculty_grads.png?w=380&h=332&fit=380%2C332&resize=380%2C332" data-permalink="https://blog.ouseful.info/2017/11/28/quick-round-up-visualising-flows-using-network-and-sankey-diagrams-in-python-and-r/faculty_grads/" data-large-file="https://ouseful.files.wordpress.com/2017/11/faculty_grads.png?w=380&amp;h=332&amp;fit=380%2C332&amp;resize=380%2C332?w=830" alt="" data-image-title="Faculty_Grads" sizes="(max-width: 380px) 100vw, 380px" data-comments-opened="1" class="wp-image-17154" data-recalc-dims="1"></p>
<p>The data can also be filtered to show just the modules taken leading up to a particular module, or taken following a particular module.</p>
<p>The R <a rel="nofollow" href="https://cran.r-project.org/web/packages/diagram/vignettes/diagram.pdf" target="_blank"><code>diagram</code></a> package has a couple of functions that can generate similar sorts of network diagram using its <code>plotweb()</code> function. For example, a simple flow graph:</p>
<p><img data-orig-file="https://ouseful.files.wordpress.com/2017/11/r_package_diagram2.png?w=450&amp;h=488&amp;fit=482%2C488" data-orig-size="1032,1044" data-medium-file="https://ouseful.files.wordpress.com/2017/11/r_package_diagram2.png?w=450&amp;h=488&amp;fit=482%2C488?w=297" data-attachment-id="17163" data-image-meta="{" data-image-description="" src="https://ouseful.files.wordpress.com/2017/11/r_package_diagram2.png?w=450&h=488&fit=482%2C488" data-permalink="https://blog.ouseful.info/2017/11/28/quick-round-up-visualising-flows-using-network-and-sankey-diagrams-in-python-and-r/r_package_diagram2/" data-large-file="https://ouseful.files.wordpress.com/2017/11/r_package_diagram2.png?w=450&amp;h=488&amp;fit=482%2C488?w=830" alt="" data-image-title="R_Package_diagram2" sizes="(max-width: 482px) 100vw, 482px" data-comments-opened="1" class="wp-image-17163" data-recalc-dims="1"></p>
<p>Or something that looks a bit more like a finite state machine diagram:</p>
<p><img data-orig-file="https://ouseful.files.wordpress.com/2017/11/r_package_diagram.png?w=450&amp;h=433&amp;fit=475%2C433" data-orig-size="1138,1038" data-medium-file="https://ouseful.files.wordpress.com/2017/11/r_package_diagram.png?w=450&amp;h=433&amp;fit=475%2C433?w=300" data-attachment-id="17164" data-image-meta="{" data-image-description="" src="https://ouseful.files.wordpress.com/2017/11/r_package_diagram.png?w=450&h=433&fit=475%2C433" data-permalink="https://blog.ouseful.info/2017/11/28/quick-round-up-visualising-flows-using-network-and-sankey-diagrams-in-python-and-r/r_package_diagram/" data-large-file="https://ouseful.files.wordpress.com/2017/11/r_package_diagram.png?w=450&amp;h=433&amp;fit=475%2C433?w=830" alt="" data-image-title="R_Package_diagram" sizes="(max-width: 475px) 100vw, 475px" data-comments-opened="1" class="wp-image-17164" data-recalc-dims="1"></p>
<p>(In passing, I also note the R <a rel="nofollow" href="https://cran.r-project.org/web/packages/diagram/vignettes/diagram.pdf" target="_blank"><code>diagram</code></a> package can be used to draw electrical circuit diagrams/schematics.)</p>
<p>Another way of visualising this blocked data might be to use a simple two dimensional flow diagram, such as a <a rel="nofollow" href="https://cran.r-project.org/web/packages/Gmisc/vignettes/transitionPlot.html" target="_blank">transition plot</a> from the R <a rel="nofollow" href="https://cran.r-project.org/web/packages/Gmisc/" target="_blank"><code>Gmisc</code></a> package.</p>
<p>For example, the following could describe total flow from one module to another over a given period of time:</p>
<p><img data-orig-file="https://ouseful.files.wordpress.com/2017/11/introduction_to_transitionplot.png?w=371&amp;h=436&amp;fit=371%2C436&amp;resize=371%2C436" data-orig-size="1048,1232" data-medium-file="https://ouseful.files.wordpress.com/2017/11/introduction_to_transitionplot.png?w=371&amp;h=436&amp;fit=371%2C436&amp;resize=371%2C436?w=255" data-attachment-id="17156" data-image-meta="{" data-image-description="" src="https://ouseful.files.wordpress.com/2017/11/introduction_to_transitionplot.png?w=371&h=436&fit=371%2C436&resize=371%2C436" data-permalink="https://blog.ouseful.info/2017/11/28/quick-round-up-visualising-flows-using-network-and-sankey-diagrams-in-python-and-r/introduction_to_transitionplot/" data-large-file="https://ouseful.files.wordpress.com/2017/11/introduction_to_transitionplot.png?w=371&amp;h=436&amp;fit=371%2C436&amp;resize=371%2C436?w=830" alt="" data-image-title="Introduction_to_transitionPlot" sizes="(max-width: 371px) 100vw, 371px" data-comments-opened="1" class="wp-image-17156" data-recalc-dims="1"></p>
<p>If there are a limited number of presentations (or modules) of interest, we could further break down each category to show the count of students taking a module in a particular presentation (or going directly on to / having directly come from a particular module; in this case, we may want an “other” group to act as a catch all for modules outside a set of modules we are interested in; getting the proportions right might also be a fudge).</p>
<p><img data-orig-file="https://ouseful.files.wordpress.com/2017/11/introduction_to_transitionplot2.png?w=388&amp;h=586&amp;fit=388%2C586&amp;resize=388%2C586" data-orig-size="998,1508" data-medium-file="https://ouseful.files.wordpress.com/2017/11/introduction_to_transitionplot2.png?w=388&amp;h=586&amp;fit=388%2C586&amp;resize=388%2C586?w=199" data-attachment-id="17155" data-image-meta="{" data-image-description="" src="https://ouseful.files.wordpress.com/2017/11/introduction_to_transitionplot2.png?w=388&h=586&fit=388%2C586&resize=388%2C586" data-permalink="https://blog.ouseful.info/2017/11/28/quick-round-up-visualising-flows-using-network-and-sankey-diagrams-in-python-and-r/introduction_to_transitionplot2/" data-large-file="https://ouseful.files.wordpress.com/2017/11/introduction_to_transitionplot2.png?w=388&amp;h=586&amp;fit=388%2C586&amp;resize=388%2C586?w=678" alt="" data-image-title="Introduction_to_transitionPlot2" sizes="(max-width: 388px) 100vw, 388px" data-comments-opened="1" class="wp-image-17155" data-recalc-dims="1"></p>
<p>Another way we might be able to look at the data “out of time” to show flow between modules is to use a Sankey diagram that allows for the possibility of feedback loops.</p>
<p>The Python <a rel="nofollow" href="https://github.com/ricklupton/sankeyview" target="_blank"><code>sankeyview</code></a> package (described in <a rel="nofollow" href="http://www.sciencedirect.com/science/article/pii/S0921344917301167?via%3Dihub" target="_blank">Hybrid Sankey diagrams: Visual analysis of multidimensional data for understanding resource use</a> looks like it could be useful here, if I can work out how to do the set-up correctly!</p>
<p><a rel="nofollow" href="http://nbviewer.jupyter.org/github/ricklupton/sankeyview/blob/master/examples/Fruit%20-%20complete%20example.ipynb" target="_blank"><img data-orig-file="https://ouseful.files.wordpress.com/2017/11/sankey_widget.png?w=450&amp;h=322&amp;fit=509%2C322" data-orig-size="1622,1026" data-medium-file="https://ouseful.files.wordpress.com/2017/11/sankey_widget.png?w=450&amp;h=322&amp;fit=509%2C322?w=300" data-attachment-id="17157" data-image-meta="{" data-image-description="" src="https://ouseful.files.wordpress.com/2017/11/sankey_widget.png?w=450&h=322&fit=509%2C322" data-permalink="https://blog.ouseful.info/2017/11/28/quick-round-up-visualising-flows-using-network-and-sankey-diagrams-in-python-and-r/sankey_widget/" data-large-file="https://ouseful.files.wordpress.com/2017/11/sankey_widget.png?w=450&amp;h=322&amp;fit=509%2C322?w=830" alt="" data-image-title="sankey_widget" sizes="(max-width: 509px) 100vw, 509px" data-comments-opened="1" class="wp-image-17157" data-recalc-dims="1"></a></p>
<p>Again, it may be appropriate to introduce a catch-all category to group modules into a generic <em>Other</em> bin where there is only a small flow to/from that module to reduce clutter in the diagram.</p>
<p>The <code>sankeyview</code> package is actually part of a family of packages that includes the <a rel="nofollow" href="https://github.com/ricklupton/d3-sankey-diagram" target="_blank"><code>d3-sankey-diagram</code></a> and  the <a rel="nofollow" href="https://github.com/ricklupton/ipysankeywidget" target="_blank"><code>ipysankeywidget</code></a>.</p>
<p>We can use the <code>ipysankeywidget</code> to render a simple graph data structure of the sort that can be generated by <code>networkx</code>.</p>
<p><a rel="nofollow" href="http://nbviewer.jupyter.org/github/ricklupton/ipysankeywidget/blob/master/examples/Simple%20example.ipynb" target="_blank"><img data-orig-file="https://ouseful.files.wordpress.com/2017/11/ipysankeywidget.png?w=450&amp;h=499&amp;fit=528%2C499" data-orig-size="1602,1514" data-medium-file="https://ouseful.files.wordpress.com/2017/11/ipysankeywidget.png?w=450&amp;h=499&amp;fit=528%2C499?w=300" data-attachment-id="17160" data-image-meta="{" data-image-description="" src="https://ouseful.files.wordpress.com/2017/11/ipysankeywidget.png?w=450&h=499&fit=528%2C499" data-permalink="https://blog.ouseful.info/2017/11/28/quick-round-up-visualising-flows-using-network-and-sankey-diagrams-in-python-and-r/ipysankeywidget/" data-large-file="https://ouseful.files.wordpress.com/2017/11/ipysankeywidget.png?w=450&amp;h=499&amp;fit=528%2C499?w=830" alt="" data-image-title="ipysankeywidget" sizes="(max-width: 528px) 100vw, 528px" data-comments-opened="1" class="wp-image-17160" data-recalc-dims="1"></a></p>
<p>One big problems with the view I took of the data is that it doesn’t respect time, or the numbers of students taking a particular presentation of a course. This detail could help tell a story about the evolving curriculum as new modules come on stream, for example, and perhaps change student behaviour about the module they take next from a particular module. So how could we capture it?</p>
<p>If we can linearise the flow by using <code>module_presentation</code> keyed nodes, rather than just <code>module</code> identified nodes, and limit the data to just show students progressing from one presentation to the next, we should be able to use something line a categorical parallel co-ordinates plot, such as an alluvial  diagram from the R <a rel="nofollow" href="https://cran.r-project.org/web/packages/alluvial/vignettes/alluvial.html" target="_blank"><code>alluvial</code></a> package.</p>
<p><a rel="nofollow" href="https://cran.r-project.org/web/packages/alluvial/vignettes/alluvial.html" target="_blank"><img data-orig-file="https://ouseful.files.wordpress.com/2017/11/creating_alluvial_diagrams.png?w=450&amp;h=500&amp;fit=470%2C500" data-orig-size="1426,1516" data-medium-file="https://ouseful.files.wordpress.com/2017/11/creating_alluvial_diagrams.png?w=450&amp;h=500&amp;fit=470%2C500?w=282" data-attachment-id="17159" data-image-meta="{" data-image-description="" src="https://ouseful.files.wordpress.com/2017/11/creating_alluvial_diagrams.png?w=450&h=500&fit=470%2C500" data-permalink="https://blog.ouseful.info/2017/11/28/quick-round-up-visualising-flows-using-network-and-sankey-diagrams-in-python-and-r/creating_alluvial_diagrams/" data-large-file="https://ouseful.files.wordpress.com/2017/11/creating_alluvial_diagrams.png?w=450&amp;h=500&amp;fit=470%2C500?w=830" alt="" data-image-title="Creating_Alluvial_Diagrams" sizes="(max-width: 470px) 100vw, 470px" data-comments-opened="1" class="wp-image-17159" data-recalc-dims="1"></a></p>
<p>With time indexed modules, we can also explore richer Sankey style diagrams that require a one way flow (no loops).</p>
<p>So for example, here are a few more packages that might be able to help with that, as well as the aforementioned Python <code>sankeyview</code> and <code>ipysankeywidget</code>  packages.</p>
<p>First up, the R <a rel="nofollow" href="https://christophergandrud.github.io/networkD3/" target="_blank">networkD3</a> package includes support for Sankey diagrams. Data can be sourced from <code>igraph</code> and then exported into the JSON format expected by the package:</p>
<p><a rel="nofollow" href="https://christophergandrud.github.io/networkD3/" target="_blank"><img data-orig-file="https://ouseful.files.wordpress.com/2017/11/network_d3.png?w=422&amp;h=427&amp;fit=422%2C427&amp;resize=422%2C427" data-orig-size="1348,1362" data-medium-file="https://ouseful.files.wordpress.com/2017/11/network_d3.png?w=422&amp;h=427&amp;fit=422%2C427&amp;resize=422%2C427?w=297" data-attachment-id="17158" data-image-meta="{" data-image-description="" src="https://ouseful.files.wordpress.com/2017/11/network_d3.png?w=422&h=427&fit=422%2C427&resize=422%2C427" data-permalink="https://blog.ouseful.info/2017/11/28/quick-round-up-visualising-flows-using-network-and-sankey-diagrams-in-python-and-r/network_d3/" data-large-file="https://ouseful.files.wordpress.com/2017/11/network_d3.png?w=422&amp;h=427&amp;fit=422%2C427&amp;resize=422%2C427?w=830" alt="" data-image-title="network_d3" sizes="(max-width: 422px) 100vw, 422px" data-comments-opened="1" class="wp-image-17158" data-recalc-dims="1"></a></p>
<p>If you prefer Google charts, the <code>googleVis</code> R package has a <a rel="nofollow" href="https://www.rdocumentation.org/packages/googleVis/versions/0.6.0/topics/gvisSankey?tap_a=5644-dce66f&tap_s=10907-287229" target="_blank"><code>gvisSankey</code></a> function (that I’ve used <a rel="nofollow" href="https://blog.ouseful.info/2017/03/17/experimenting-with-sankey-diagrams-in-r-and-python/" target="_blank">elsewhere</a>).</p>
<p>The R <a rel="nofollow" href="https://cran.r-project.org/web/packages/riverplot/riverplot.pdf" target="_blank"><code>riverplot</code></a> package also supports Sankey diagrams – and the gallery includes a demo of how to recreate Minard’s visualisation of Napoleon’s 1812 march.</p>
<p><a rel="nofollow" href="https://cran.r-project.org/web/packages/riverplot/riverplot.pdf" target="_blank"><img data-orig-file="https://ouseful.files.wordpress.com/2017/11/riverplot_pdf.png?w=450&amp;h=408&amp;fit=470%2C408" data-orig-size="1036,900" data-medium-file="https://ouseful.files.wordpress.com/2017/11/riverplot_pdf.png?w=450&amp;h=408&amp;fit=470%2C408?w=300" data-attachment-id="17161" data-image-meta="{" data-image-description="" src="https://ouseful.files.wordpress.com/2017/11/riverplot_pdf.png?w=450&h=408&fit=470%2C408" data-permalink="https://blog.ouseful.info/2017/11/28/quick-round-up-visualising-flows-using-network-and-sankey-diagrams-in-python-and-r/riverplot_pdf/" data-large-file="https://ouseful.files.wordpress.com/2017/11/riverplot_pdf.png?w=450&amp;h=408&amp;fit=470%2C408?w=830" alt="" data-image-title="riverplot_pdf" sizes="(max-width: 470px) 100vw, 470px" data-comments-opened="1" class="wp-image-17161" data-recalc-dims="1"></a></p>
<p>The R <a rel="nofollow" href="https://github.com/gaborcsardi/sankey" target="_blank"><code>sankey</code></a> package generates a simple Sankey diagram from a simple data table:</p>
<p><a rel="nofollow" href="https://github.com/gaborcsardi/sankey" target="_blank"><img data-orig-file="https://ouseful.files.wordpress.com/2017/11/gaborcsardi_sankey.png?w=439&amp;h=488&amp;fit=439%2C488&amp;resize=439%2C488" data-orig-size="1356,1508" data-medium-file="https://ouseful.files.wordpress.com/2017/11/gaborcsardi_sankey.png?w=439&amp;h=488&amp;fit=439%2C488&amp;resize=439%2C488?w=270" data-attachment-id="17162" data-image-meta="{" data-image-description="" src="https://ouseful.files.wordpress.com/2017/11/gaborcsardi_sankey.png?w=439&h=488&fit=439%2C488&resize=439%2C488" data-permalink="https://blog.ouseful.info/2017/11/28/quick-round-up-visualising-flows-using-network-and-sankey-diagrams-in-python-and-r/gaborcsardi_sankey/" data-large-file="https://ouseful.files.wordpress.com/2017/11/gaborcsardi_sankey.png?w=439&amp;h=488&amp;fit=439%2C488&amp;resize=439%2C488?w=830" alt="" data-image-title="gaborcsardi_sankey" sizes="(max-width: 439px) 100vw, 439px" data-comments-opened="1" class="wp-image-17162" data-recalc-dims="1"></a></p>
<p>Back in the Python world, the <a rel="nofollow" href="https://github.com/anazalea/pySankey" target="_blank"><code>pySankey</code></a> package can generate a simple Sankey diagram from a <em>pandas</em> dataframe.</p>
<p><a rel="nofollow" href="https://github.com/anazalea/pySankey" target="_blank"><img data-orig-file="https://ouseful.files.wordpress.com/2017/11/anazalea_pysankey.png?w=450&amp;h=509&amp;fit=481%2C509" data-orig-size="1374,1452" data-medium-file="https://ouseful.files.wordpress.com/2017/11/anazalea_pysankey.png?w=450&amp;h=509&amp;fit=481%2C509?w=284" data-attachment-id="17165" data-image-meta="{" data-image-description="" src="https://ouseful.files.wordpress.com/2017/11/anazalea_pysankey.png?w=450&h=509&fit=481%2C509" data-permalink="https://blog.ouseful.info/2017/11/28/quick-round-up-visualising-flows-using-network-and-sankey-diagrams-in-python-and-r/anazalea_pysankey/" data-large-file="https://ouseful.files.wordpress.com/2017/11/anazalea_pysankey.png?w=450&amp;h=509&amp;fit=481%2C509?w=830" alt="" data-image-title="anazalea_pySankey" sizes="(max-width: 481px) 100vw, 481px" data-comments-opened="1" class="wp-image-17165" data-recalc-dims="1"></a></p>
<p><em>matplotlib</em> also support for sankey diagrams as <a rel="nofollow" href="https://matplotlib.org/api/sankey_api.html" target="_blank"><code>matplotlib.sankey()</code></a> (see also this <a rel="nofollow" href="https://flothesof.github.io/sankey-tutorial-matplotlib.html" target="_blank">tutorial</a>):</p>
<p><img data-orig-file="https://ouseful.files.wordpress.com/2017/11/sankey_e28094_matplotlib.png?w=377&amp;h=634&amp;fit=377%2C634&amp;resize=377%2C634" data-orig-size="820,1378" data-medium-file="https://ouseful.files.wordpress.com/2017/11/sankey_e28094_matplotlib.png?w=377&amp;h=634&amp;fit=377%2C634&amp;resize=377%2C634?w=179" data-attachment-id="17166" data-image-meta="{" data-image-description="" src="https://ouseful.files.wordpress.com/2017/11/sankey_e28094_matplotlib.png?w=377&h=634&fit=377%2C634&resize=377%2C634" data-permalink="https://blog.ouseful.info/2017/11/28/quick-round-up-visualising-flows-using-network-and-sankey-diagrams-in-python-and-r/sankey_-_matplotlib/" data-large-file="https://ouseful.files.wordpress.com/2017/11/sankey_e28094_matplotlib.png?w=377&amp;h=634&amp;fit=377%2C634&amp;resize=377%2C634?w=609" alt="" data-image-title="sankey_—_Matplotlib" sizes="(max-width: 377px) 100vw, 377px" data-comments-opened="1" class="wp-image-17166" data-recalc-dims="1"></p>
<p>What I really need to do now is set up a Binder demo of each of them… but that will have to wait till another day…</p>
<p><em>If you know of any other R or Python packages / demos that might be useful for visualising flows, please let me know via the comments and I’ll add them to the post.</em></p>
<p> <a rel="nofollow" href="https://feeds.wordpress.com/1.0/gocomments/ouseful.wordpress.com/17153/" target="_blank"><img border="0" alt="" src="https://feeds.wordpress.com/1.0/comments/ouseful.wordpress.com/17153/"></a> <img border="0" alt="" src="https://i1.wp.com/pixel.wp.com/b.gif?resize=1%2C1&ssl=1" data-recalc-dims="1"></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://blog.ouseful.info/2017/11/28/quick-round-up-visualising-flows-using-network-and-sankey-diagrams-in-python-and-r/"> Rstats – OUseful.Info, the blog…</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/ntfT5XeSUzY" height="1"></a></div>