11/10/2012 - 4:49 AM

ggplot2 Workshop Homework for Maps

ggplot2 Workshop Homework for Maps

# TITLE: ggplot2 Workshop Homework for Maps
# AUTHOR: Tom Schenk Jr.
# DATE CREATED: November 7, 2012
# PURPOSE: Create maps using R and ggplot2 library.
# LIBRARIES: ggplot2, maptools


setwd("") # Enter the location of your working directory.

# Let's place a map of crime on Chicago's boundaries. Thus, we need to load the shapefiles and crime data for Chicago.

# First, load Chicago's shapefile. You can find Chicago's boundaries here (unzip to your working directory and rename "Chicago Neighborhoods"):
chicago <- readShapePoly("Neighborhoods_2012/Neighborhoods_2012b") # Read the shapefile (from the 'maptools' library).
chicago <- fortify(chicago) # Organizes data into a neat data frame.
ggplot(chicago) + geom_polygon(aes(x=long, y=lat, group=group)) # "Filled" map
ggplot(chicago) + geom_path(aes(x=long, y=lat, group=group)) # "Outline" map

# Notice that the original city data is not in traditional latitutde and longitudes,
# instead, it is coded as Universal Transverse Mercator (UTM).

# Now, load city crime data.
crime <- read.csv("")

# Simple plot of crime and wards
# Use X.Coordinate and Y.Coordinate from crime data set since they're the UTM coordinates.
ggplot(chicago) + geom_path(aes(x=long, y=lat, group=group)) + geom_point(data=crime, aes(x=X.Coordinate, y=Y.Coordinate))

# Some challenges:
# (1) Find patterns in crimes across the city.
# (2) Load another shapefile from the city to display with crime and neighborhood boundaries:
# (3) Derive some hypothesis about what can cause crime, see if you can find data at (or elsewhere) and map it.