<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/geocomputation-with-r-workshop-at-erum/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="https://jannesm.wordpress.com/2018/05/31/geocomputation-with-r-workshop-at-erum/"> R – jannesm</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<p><img data-orig-file="https://jannesm.files.wordpress.com/2016/06/r_qgis_puzzle.png" data-orig-size="1169,813" data-medium-file="https://jannesm.files.wordpress.com/2016/06/r_qgis_puzzle.png?w=300" data-attachment-id="18" data-image-meta="{" data-image-description="" src="https://i0.wp.com/jannesm.files.wordpress.com/2018/05/geocomp_logo.png?ssl=1&w=450" data-permalink="https://jannesm.wordpress.com/2016/06/23/integrating-r-with-qgis/r_qgis_puzzle/" data-large-file="https://jannesm.files.wordpress.com/2016/06/r_qgis_puzzle.png?w=676" alt="geocompr_logo" data-image-title="r_qgis_puzzle" width="150" data-comments-opened="1" class="wp-image-18" height="104"></p>
<p>This is a post by Robin Lovelace, Jakub Nowosad and Jannes Muenchow. Together we’re writing an open source book called <em>Geocomputation with R</em>. The project aims to introducing people to R’s rapidly evolving geographic data capabilities and provide a foundation for developing scripts, functions and applications for geographic data science. We recently presented some contents of the in-progress book at the eRum<br>
conference, where Jannes ran a <a rel="nofollow" href="http://2018.erum.io/#talk-2-305" target="_blank">workshop</a> on the topic. In this article we share teaching materials from eRum for the benefit of those who couldn’t be there in person and provide a ‘heads-up’ to the R-Spatial community about plans for the book. We’ll start with an overview of ‘geocomputation’ (and define what we mean by the term) and finish by describing how R can be used as a bridge to access dedicated GIS software.</p>
<h1>Gecomp ‘base’ ics</h1>
<p>The first thing many people will be asking is “what is geocomputation anyway”? As Jannes mentioned in his talk, the choice of name was influenced by the fact that the term seems to have originated in Leeds, where one of the authors (Robin) is based. The first conference on the subject was in Leeds in 1996, with associated extended abstracts including old-school computer graphics still available <a rel="nofollow" href="http://www.geocomputation.org/1996/" target="_blank">here</a>; and there was a 21 year home-coming anniversary in <a rel="nofollow" href="http://www.geocomputation.org/2017/conference/programme.html" target="_blank">2017</a> where Robin and Jakub presented. A more practical reason is that the term is unambiguous: it’s about using computing techniques to do new things with geographic data, as indicated in Section <a rel="nofollow" href="http://geocompr.robinlovelace.net/intro.html#what-is-geocomputation" target="_blank">1.1</a> of the book. Our approach differs in one way from the early conception of geocomputation, however:</p>
<blockquote>
<p>
Unlike early works in the field all the work presented in this book is reproducible using code and example data supplied alongside the book (using R, a great language for reproducible research).
</p>
</blockquote>
<p>Like many open source projects R is evolving. Although ‘base R’ is conservative (as demonstrated in Roger Bivand’s keynote, in which he did a live demo using a version of R from 1997 that still runs!), the ‘ecosystem’ of packages that extend its capabilities changes fast (video <a rel="nofollow" href="https://www.youtube.com/watch?v=Luxllb_WAqY" target="_blank">here</a>, slides at <a rel="nofollow" href="https://github.com/rsbivand/eRum18" target="_blank">rsbivand/eRum18</a>).</p>
<p>To clarify what we mean by ‘base R’, we can identify base packages with the following code (source: <a rel="nofollow" href="https://stackoverflow.com/questions/9700799/difference-between-r-base-and-r-recommended-packages" target="_blank">stackoverflow</a>):</p>
<pre>
x = installed.packages()
row.names(x)[!is.na(x[ ,&quot;Priority&quot;])]

## [1] &quot;base&quot; &quot;boot&quot; &quot;class&quot; &quot;cluster&quot; &quot;codetools&quot;
## [6] &quot;compiler&quot; &quot;datasets&quot; &quot;foreign&quot; &quot;graphics&quot; &quot;grDevices&quot;
## [11] &quot;grid&quot; &quot;KernSmooth&quot; &quot;lattice&quot; &quot;MASS&quot; &quot;Matrix&quot;
## [16] &quot;methods&quot; &quot;mgcv&quot; &quot;nlme&quot; &quot;nnet&quot; &quot;parallel&quot;
## [21] &quot;rpart&quot; &quot;spatial&quot; &quot;splines&quot; &quot;stats&quot; &quot;stats4&quot;
## [26] &quot;survival&quot; &quot;tcltk&quot; &quot;tools&quot; &quot;utils&quot;
</pre>
<p>The output shows there are 28 packages that are currently part of the base distribution (R Core makes “base R” as Martin Maechler <a rel="nofollow" href="http://stat.ethz.ch/~maechler/U/R/eRum_2018_ProgR-ALTREP.html#29" target="_blank">put it</a><br>
during another <a rel="nofollow" href="http://stat.ethz.ch/~maechler/U/R/eRum_2018_ProgR-ALTREP.html#1" target="_blank">keynote</a>). These can be relied on to change very little in terms of their API, although bug fixes and performance improvements happen continuously.</p>
<p>The same cannot be said of contributed packages. Packages are created,<br>
die (or are <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2011/11/27/#removed_cran_packages_monitored" target="_blank">abandoned</a>) and change, sometimes <a rel="nofollow" href="https://github.com/ropensci/stplanr/issues/210" target="_blank">dramatically</a>. And this applies as much (or more) to r-spatial as to any other part of R’s ecosystem, as can be seen by looking at any one of R’s <a rel="nofollow" href="https://cran.r-project.org/web/views/" target="_blank">task views</a>. At the time of writing the <a rel="nofollow" href="https://cran.r-project.org/web/views/Spatial.html" target="_blank">Spatial task view</a> alone listed 177 packages, many of them recently contributed and in-development.</p>
<p>In this context it helps to have an understanding of the history (Bivand, Pebesma, and Gómez-Rubio <a rel="nofollow" href="https://jannesm.wordpress.com/2018/05/31/geocomputation-with-r-workshop-at-erum/#ref-bivand_applied_2013" target="_blank">2013</a>). Like in politics, knowing the past can help navigate the future. More specifically, knowing which packages are mature or up-and-coming can help decide which one to use!</p>
<p>For this reason, after a <a rel="nofollow" href="https://geocompr.github.io/workshops/erum2018/01_basics.html#2" target="_blank">slide</a> on set-up (which is described in detail in chapter <a rel="nofollow" href="http://geocompr.robinlovelace.net/spatial-class.html#prerequisites" target="_blank">2</a> of the book), the workshop spent a decent amount of time talking about the history of spatial data in R, as illustrated in slide <a rel="nofollow" href="https://geocompr.github.io/workshops/erum2018/01_basics.html#53" target="_blank">20</a>. A more detailed account of the history of R-spatial is provided in section <a rel="nofollow" href="http://geocompr.robinlovelace.net/intro.html#the-history-of-r-spatial" target="_blank">1.5</a> of the book.</p>
<p>The slides outlining the basics of Geocomputation with R (which is roughly a synonym for r-spatial) can be found <a rel="nofollow" href="https://geocompr.github.io/workshops/erum2018/01_basics.html" target="_blank">here</a>.</p>
<h1>Vector data</h1>
<p>Spatial vector data are best used for objects that represent discrete borders such as bus stops (points), streets (lines) and houses (polygons). For instance, we can represent ‘Budapest’ (the city where eRum 2018 was held) as a spatial point with the help of the <code>sf</code> package (Pebesma <a rel="nofollow" href="https://jannesm.wordpress.com/2018/05/31/geocomputation-with-r-workshop-at-erum/#ref-pebesma_simple_2018" target="_blank">2018</a>) as follows:</p>
<pre>
budapest_df = data.frame(
name = &quot;Budapest&quot;,
x = 19.0,
y = 47.5
)
class(budapest_df)

## [1] &quot;data.frame&quot;

budapest_sf = sf::st_as_sf(budapest_df, coords = c(&quot;x&quot;, &quot;y&quot;))
class(budapest_sf)

## [1] &quot;sf&quot; &quot;data.frame&quot;
</pre>
<p>Why bother creating a new class if both objects contain the same essential data? It’s what you can do with an object that’s important. The reason for using the <code>sf</code> class can be understood as follows: it gives the <code>budapest_sf</code> spatial superpowers. We can, for example, now identify what country the point is using a spatial function such as a <a rel="nofollow" href="http://geocompr.robinlovelace.net/spatial-operations.html#spatial-joining" target="_blank">spatial join</a> implemented in the function st_join()` (spatial subsetting would also do the trick, as covered in section <a rel="nofollow" href="http://geocompr.robinlovelace.net/spatial-operations.html#spatial-subsetting" target="_blank">4.2.1</a>). First, we need to load the ‘world’ dataset and set the ‘CRS’ of the object:</p>
<pre>
# set-up:
library(spData)
sf::st_crs(budapest_sf) = 4326

# spatial join:
sf::st_join(budapest_sf, world)

## Simple feature collection with 1 feature and 11 fields
## geometry type: POINT
## dimension: XY
## bbox: xmin: 19 ymin: 47.5 xmax: 19 ymax: 47.5
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
## name iso_a2 name_long continent region_un subregion
## 1 Budapest HU Hungary Europe Europe Eastern Europe
## type area_km2 pop lifeExp gdpPercap geometry
## 1 Sovereign country 92476.46 9866468 75.87317 24016.3 POINT (19 47.5)
</pre>
<p>The slides describing vector data in R can be found <a rel="nofollow" href="https://geocompr.github.io/workshops/erum2018/02_vector.html#1" target="_blank">here</a>.</p>
<h1>Raster data</h1>
<p>On the other hand, a raster data represents continuous surfaces in form of a regular grid. You can think about a raster as a matrix object containing information about its spatial location. It has rows and columns, each cell has a value (it could be <code>NA</code>) and its spatial properties are described by the cell resolution (<code>res</code>), outer borders (bounding box – <code>xmn</code>, <code>xmx</code>, <code>ymn</code>, <code>ymx</code>), and coordinate reference system (<code>crs</code>). In R the <strong>raster</strong> package supports the spatial raster format (Hijmans <a rel="nofollow" href="https://jannesm.wordpress.com/2018/05/31/geocomputation-with-r-workshop-at-erum/#ref-R-raster" target="_blank">2017</a>).</p>
<pre>
library(raster)
elev = raster(nrow = 6, ncol = 6,
vals = 1:36,
res = 0.5,
xmn = -1.5, xmx = 1.5,
ymn = -1.5, ymx = 1.5,
crs = &quot;+proj=longlat&quot;)
</pre>
<p>The data structure makes raster processing much more efficient and faster than vector data processing.</p>
<pre>
elev2 = elev^2
elev3 = elev / elev2
elev4 = (elev2 - elev3) * log(elev)

elev_stack = stack(elev, elev2, elev3, elev4)
plot(elev_stack)
</pre>
<p><img alt="" src="https://i2.wp.com/jannesm.wordpress.com/2018/05/31/geocomputation-with-r-workshop-at-erum/erum-2018_files/figure-markdown_strict/unnamed-chunk-6-1.png?w=456&ssl=1" data-recalc-dims="1"></p>
<p>Raster objects can be <a rel="nofollow" href="https://geocompr.robinlovelace.net/attr.html#raster-subsetting" target="_blank">subsetted (by index, coordinates, or other spatial objects)</a>, transformed using <a rel="nofollow" href="https://geocompr.robinlovelace.net/spatial-operations.html#local-operations" target="_blank">local</a>, <a rel="nofollow" href="https://geocompr.robinlovelace.net/spatial-operations.html#focal-operations" target="_blank">focal</a>, <a rel="nofollow" href="https://geocompr.robinlovelace.net/spatial-operations.html#focal-operations" target="_blank">zonal</a> and <a rel="nofollow" href="https://geocompr.robinlovelace.net/spatial-operations.html#global-operations-and-distances" target="_blank">global</a> operations, and <a rel="nofollow" href="https://geocompr.robinlovelace.net/attr.html#summarizing-raster-objects" target="_blank">summarized</a>. Importantly, there are many tools allowing for <a rel="nofollow" href="https://geocompr.robinlovelace.net/raster-vector.html" target="_blank">interactions between raster and vector data models, and transformation between them</a>.</p>
<p>The slides associated with the raster data part of the workshop can be found <a rel="nofollow" href="https://geocompr.github.io/workshops/erum2018/03_raster.html#1" target="_blank">here</a>.</p>
<h1>Visualizing spatial data</h1>
<p>The spatial powers mentioned previously have numerous advantages. One of the most attractive is that geographic data in an appropriate class can be visualized on a map, the topic of <a rel="nofollow" href="http://geocompr.robinlovelace.net/adv-map.html" target="_blank">Chapter 9</a> of the book. The workshop was an opportunity to expand on the contents of that chapter and ask: what’s the purpose of maps in the first place? To answer that question we used an early data visualization / infographic created by Alexander von Humboldt, illustrated below. The point of this is that it’s not always the accuracy of a map that’s most important (although that is important): the meaning that you wish to convey and the target audience should be central to the design of the map (in Humboldt’s case the unity of nature to an audience of Enlightenment book readers!):</p>
<p><img src="https://i2.wp.com/upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Zentralbibliothek_Z%C3%BCrich_-_Ideen_zu_einer_Geographie_der_Pflanzen_nebst_einem_Naturgem%C3%A4lde_der_Tropenl%C3%A4nder_-_000012142.jpg/2560px-Zentralbibliothek_Z%C3%BCrich_-_Ideen_zu_einer_Geographie_der_Pflanzen_nebst_einem_Naturgem%C3%A4lde_der_Tropenl%C3%A4nder_-_000012142.jpg?w=456&ssl=1" data-recalc-dims="1"></p>
<p>In the context of geographic data in R, it is easier than ever to create attractive maps to tell a story. The previously created point representing Budapest, for example, can be visualized using the <strong>tmap</strong> package as follows:</p>
<pre>
library(tmap)
budapest_df = data.frame(name = &quot;Budapest&quot;, x = 19, y = 47.5)
class(budapest_df)
#> [1] &quot;data.frame&quot;
budapest_sf = sf::st_as_sf(budapest_df, coords = c(&quot;x&quot;, &quot;y&quot;))
class(budapest_sf)
#> [1] &quot;sf&quot; &quot;data.frame&quot;
tmap_mode(&quot;view&quot;)
#> tmap mode set to interactive viewing
m = tm_shape(budapest_sf) + tm_dots() + tm_view(basemaps = &quot;OpenStreetMap&quot;,
set.view = 9)
tmap_leaflet(m)
</pre>
<p><img alt="" src="https://i1.wp.com/i.imgur.com/pzlQ0M3.png?w=456&ssl=1" data-recalc-dims="1"></p>
<p>A range of mapping techniques were covered in the workshop including the <code>plot()</code> method from the <code>sf</code> package that generates multiple maps from a single object by default, such as this one representing the <code>nz</code> (short for New Zealand) object from the <strong>spData</strong> package:</p>
<p><img alt="" src="https://i0.wp.com/geocompr.github.io/workshops/erum2018/04_viz_files/figure-html/unnamed-chunk-7-1.png?w=456&ssl=1" data-recalc-dims="1"></p>
<p>More advanced maps were demonstrated, including this animated map of the United States (for information on how to make animated maps with R, see section <a rel="nofollow" href="http://geocompr.robinlovelace.net/adv-map.html#animated-maps" target="_blank">9.3</a>) of <em>Geocomputation with R</em>.</p>
<p><img alt="" src="https://i1.wp.com/user-images.githubusercontent.com/1825120/38543030-5794b6f0-3c9b-11e8-9da9-10ec1f3ea726.gif?w=456&ssl=1" data-recalc-dims="1"></p>
<p>The slides forming the basis of the visualization part of the tutorial can be found <a rel="nofollow" href="https://geocompr.github.io/workshops/erum2018/04_viz.html#1" target="_blank">here</a>.</p>
<h1>Last but not least was a section on GIS bridges</h1>
<p>Defining a <strong>G</strong>eographic <strong>I</strong>nformation <strong>S</strong>ystem as a system for the analysis, manipulation and visualization of geographic data (Longley <a rel="nofollow" href="https://jannesm.wordpress.com/2018/05/31/geocomputation-with-r-workshop-at-erum/#ref-longley_geographic_2015" target="_blank">2015</a>), we can safely claim that R already has become a GIS. However, R has also its shortcomings when it comes to spatial data analysis. To name but a few, R is not particularly good at handling large geographic data, it is not a geodatabase and it is missing literally hundreds of geoalgorithms readily available in GIS software packages and spatial libraries. Fortunately, R has been designed from the beginning as an interactive interface to other languages and software packages (Chambers <a rel="nofollow" href="https://jannesm.wordpress.com/2018/05/31/geocomputation-with-r-workshop-at-erum/#ref-chambers_extending_2016" target="_blank">2016</a>). Hence, as long as we can access the functionality of GIS software from within R, we can easily overcome R’s spatial data analysis shortcomings. For instance, when attaching, the <strong>sf</strong> package to the global environment, it automatically links to <a rel="nofollow" href="https://trac.osgeo.org/geos/" target="_blank">GEOS</a>, <a rel="nofollow" href="http://www.gdal.org/" target="_blank">GDAL</a> and <a rel="nofollow" href="https://proj4.org/" target="_blank">proj.4</a>, this means, the <strong>sf</strong> package gives the R user automatically access to the functionality of these spatial libraries. Equally, there are a number of packages that provides access to the geoalgorithms of major open source GIS Desktop software packages:</p>
<ol>
<li><strong>rgrass7</strong> provides access to <a rel="nofollow" href="https://grass.osgeo.org/grass7/" target="_blank">GRASS7</a></li>
<li><strong>RSAGA</strong> provides access to <a rel="nofollow" href="http://www.saga-gis.org/en/index.html" target="_blank">SAGA GIS</a></li>
<li><strong>RQGIS</strong> provides access to <a rel="nofollow" href="https://qgis.org/en/site/" target="_blank">QGIS</a>. For much more details and background information, please check out the corresponding <a rel="nofollow" href="https://journal.r-project.org/archive/2017/RJ-2017-067/RJ-2017-067.pdf" target="_blank">R Journal publication</a>.</li>
</ol>
<p>Note that you must have installed the GIS software on your machine before you can use it through R.[1]</p>
<p>In the workshop we shortly presented how to use <strong>RQGIS</strong>. The corresponding slides can be found <a rel="nofollow" href="https://geocompr.github.io/workshops/erum2018/05_rqgis.html#1" target="_blank">here</a>. In the book we additionally demonstrate how to use <strong>RSAGA</strong> and <strong>rgrass7</strong> in Chapter <a rel="nofollow" href="https://geocompr.robinlovelace.net/gis.html" target="_blank">10</a>.</p>
<h1>Background on the book</h1>
<p><em>Geocomputation with R</em> is a collaborative project. We joined forces because each of us has been been teaching and contributing to R’s spatial ecosystem for years and we all had a similar vision of a book to disseminate R’s impressive geographic capabilities more widely.</p>
<p>As described in a previous <a rel="nofollow" href="https://nowosad.github.io/post/geocomputation-with-r-the-intermission/" target="_blank">article</a> by Jakub, we’re making good progress towards finishing the book by the end of summer 2018, meaning <em>Geocomputation with R</em> will be published before the end of the year. The target audience is broad but we think it will be especially useful to post and under-graduate students, R users wanting to work with spatial data, and GIS users wanting to get to grips with command-line statistical modeling software. A reason for publishing the article here is that we have around 3 months (until the end of August) to gather as much feedback on the book as possible before it’s published. We plan to keep the code and prose up-to-date after that but now is the ideal time to get involved. We welcome comments and suggestions on the <a rel="nofollow" href="https://github.com/Robinlovelace/geocompr/issues" target="_blank">issue tracker</a>, especially from people with experience in the R-Spatial world in relation to:</p>
<ul>
<li>Bugs: issues with lines of prose or code that could be improved.</li>
<li>Future-proofing: will the code and advice given stand the test of time? If you think some parts will go out of date quick, please let us know!</li>
<li>Anything else: ideas for other topics to cover, for example.</li>
</ul>
<p>We would like to thank the anonymous peer reviewers who have provided feedback so far. We’re still working on changes to respond to their excellent comments. If you’re interested in getting involved in this project, please see the project’s GitHub repo at <a rel="nofollow" href="https://github.com/Robinlovelace/geocompr" target="_blank">github.com/Robinlovelace/geocompr</a> and check-out the in-progress chapters at <a rel="nofollow" href="https://geocompr.robinlovelace.net/" target="_blank">geocompr.robinlovelace.net</a>.</p>
<h1>References</h1>
<p>Bivand, Roger S., Edzer Pebesma, and Virgilio Gómez-Rubio. 2013. <em>Applied Spatial Data Analysis with R</em>. 2nd ed. 2013 edition. New York:Springer.</p>
<p>Chambers, John M. 2016. <em>Extending R</em>. CRC Press.</p>
<p>Hijmans, Robert J. 2017. <em>Raster: Geographic Data Analysis and Modeling</em>.</p>
<p>Longley, Paul. 2015. <em>Geographic Information Science &amp; Systems</em>. Fourth edition. Hoboken, NJ: Wiley.</p>
<p>Pebesma, Edzer. 2018. “Simple Features for R: Standardized Support for Spatial Vector Data.” <em>The R Journal</em>.</p>
<p>[1] Note also that <strong>RPyGeo</strong> provides access to <a rel="nofollow" href="http://desktop.arcgis.com/en/arcmap/" target="_blank">ArcMap</a> which is a commercial Desktop GIS software.</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://jannesm.wordpress.com/2018/05/31/geocomputation-with-r-workshop-at-erum/"> R – jannesm</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/BuVlhTSnx2I" height="1"></a></div>