2016-06-22
NOAA Data:
US Fisheries and Wildlife Data:
Both data sets have geographic coordinates for ever observation
NOAA data is a .rdata file so we need to read it specially:
getwd()
command to find your current working directoryload("noaa.rdata")
Lets take a peek at the top of the floats NOAA data.
head(floats, n = 2)
## callSign Date_Time JulianDay Time_QC Latitude Longitude Position_QC ## 1 Q4901043 7/12/2010 2455390 1 24.823 -87.964 1 ## 2 Q4901043 7/12/2010 2455390 1 24.823 -87.964 1 ## Depth Depth_QC Temperature Temperature_QC Salinity Salinity_QC Type ## 1 2 1 29.83 1 36.59 1 Float ## 2 4 1 29.65 1 36.58 1 Float
qplot(Longitude, Latitude, colour = callSign, data = floats) + coord_map()
qplot(Longitude, Latitude, colour = callSign, data = gliders) + coord_map()
qplot(Longitude, Latitude, colour = callSign, data = boats) + coord_map()
This data has the same context - a common time and common place
ggplot2
we will superimpose data onto this grid in layersTo give you an idea…
ggplot() + geom_path(data = states, aes(x = long, y = lat, group = group)) + geom_point(data = floats, aes(x = Longitude, y = Latitude, colour = callSign)) + geom_point(aes(x, y), shape = "x", size = 5, data = rig) + geom_text(aes(x, y), label = "BP Oil Rig", size = 5, data = rig, hjust = -0.1) + xlim(c(-91, -80)) + ylim(c(22,32)) + coord_map()
aesthetic | mapping |
---|---|
x | Longitude |
y | Latitude |
color | CallSign |
aesthetic | scale |
---|---|
x | continuous |
y | continuous |
color | discrete |
qplot()
vs ggplot()
qplot()
stands for "quickplot":
ggplot()
stands for "grammar of graphics plot"
qplot()
and ggplot()
for FloatsTwo ways to construct the same plot for float locations:
qplot(Longitude, Latitude, colour = callSign, data = floats)
Or:
ggplot(data = floats, aes(x = Longitude, y = Latitude, colour = callSign)) + geom_point() + scale_x_continuous() + scale_y_continuous() + scale_colour_discrete()
We fortunately don't need to be so verbose - Even ggplot()
will automatically pick default scales:
ggplot(data = floats, aes(x = Longitude, y = Latitude, colour = callSign)) + geom_point()
Find the ggplot()
statement that creates this plot:
A layer added ggplot()
can be a geom…
… or a position adjustment to the scales
Plot | Geom | Stat |
---|---|---|
Scatterplot | point | identity |
Histogram | bar | bin count |
Smoother | line + ribbon | smoother function |
Binned Scatterplot | rectange + color | 2d bin count |
More geoms described at http://docs.ggplot2.org/current/
Want to build a map using NOAA data
ggplot() + geom_path(data = states, aes(x = long, y = lat, group = group)) + geom_point(data = floats, aes(x = Longitude, y = Latitude, colour = callSign)) + geom_point(aes(x, y), shape = "x", size = 5, data = rig) + geom_text(aes(x, y), label = "BP Oil Rig", size = 5, data = rig, hjust = -0.1) + xlim(c(-91, -80)) + ylim(c(22, 32)) + coord_map()
animal <- read.csv("http://heike.github.io/rwrks/02-r-graphics/data/animal.csv")
Using the ggmap
package, we can download satellite images using the Google Maps API for specified regions of the world
library(ggmap) gmap <- get_map(location=c(rig$x, rig$y), zoom=6)
## Map from URL : http://maps.googleapis.com/maps/api/staticmap?center=28.736628,-88.365997&zoom=6&size=640x640&scale=2&maptype=terrain&language=en-EN&sensor=false
ggmap(gmap, extent = 'normal') + geom_point(aes(Longitude, Latitude), shape="+", size=5, colour="black", data=subset(animal, Condition=="Dead")) + ggtitle("Crosses indicate locations of dead bird sightings")