author: Robin Lovelace date: 10th October 2014
Slides available online from the course's home: github.com/Robinlovelace/Creating-maps-in-R.
Old version on CRAN's contributed docs page
This course is brought to you by TALISMAN, a project based at the University of Leeds and UCL. It is funded by the ESRC's National Centre for Research Methods (NCRM)
During this course we will cover these topics
- An introduction to R (9:30 - 10:30)
- Loading and interrogating spatial data (10:30 - 11:30)
- Manipulating spatial objects (11:30 - 12:30)
LUNCH
- Making maps in ggplot2 (13:30 - 14:30)
- Basemaps (14:30 - 15:30)
- More advanced visuals (15:30 - 16:00)
- Taking it further + Q & A (16:00 onwards)
- Named after S and its creators
- De-facto standard for advanced statistical analysis
- A programming language in its own right
- The power of the command line
- Used by an increasing number of organisations
- Performace: stable, light and fast
- Support network
- documentation, community, developers
- Reproducibility
- anyone anywhere can reproduce results
- enables dissemination (RPubs, RMarkdown, .RPres) - this presentation is a .Rmd file!
- Versatility: unified solution to almost any numerical problem, graphical capabilities
- Ethics removes economic barrier to statistics, is open and democratic
Source: r4stats.com
Source: r4stats.com
Source: Hadley Wickham
Source: revolution analytics
- Extensive and rapidly expanding spatial packages
- Interface with 'conventional' GIS software
- The advantages of the command-line:
"With the advent of “modern” GIS software, most people want to point and click their way through life. That’s good, but there is a tremendous amount of flexibility and power waiting for you with the command line. Many times you can do something on the command line in a fraction of the time you can do it with a GUI (Sherman 2008, p. 283)
It can take data in a wide range of formats. E.g. MySQL database dump gives you this:
LINESTRING(-1.81 52.55,-1.81 52.55, … ) - solved:
ps <- as.list(ps) # make a list
for(i in 1:length(ps)){
ps[[i]] <- gsub("LINESTRING\\(", "", ps[[i]])
ps[[i]] <- gsub("\\)", "", ps[[i]])
ps[[i]] <- gsub(" ", ",", ps[[i]])
ps[[i]] <- matrix(ps[[i]], ncol=2, byrow=T)
ps[[i]] <- Line(ps[[i]])
}
- R's visualisation capabilities have evolved over time
- Used to create plots in the best academic journals
- ggplot2 has revolutionised the visualisation of quantitative information in R, and (possibly) overall
- Thus there are different camps with different preferences when it comes to maps in R
If you cannot visualise your data, it is very difficult to understand your data. Conversely, visualisation will greatly aid in communicating your results.
Human beings are remarkably adept at discerning relationships from visual representations. A well-crafted graph can help you make meaningful comparisons among thousands of pieces of information, extracting patterns not easily found through other methods. ... Data analysts need to look at their data, and this is one area where R shines. (Kabacoff, 2009, p. 45).
Source: Cheshire and Lovelace (2014) - available online
Source: This tutorial!
Source: R-Bloggers
Energy use of commuting - my thesis and RPubs
Flexibility of ggplot2 - see robinlovelace.net
Before progressing further: Any questions?
Course materials are all available online from a GitHub repository. Click "Download ZIP" to download all the test data, ready to procede.
The main document to accompany this tutorial is a pdf within the main repository. This is to be made available for free worldwide - any comments/corrections welcome.
Plug: An Introduction to Spatial Microsimulation using R: Course 18th - 19th Sept, Cambridge