Over a million developers have joined DZone.
Platinum Partner

How to Plot 911 Police & Fire Responses in R

· Big Data Zone

The Big Data Zone is presented by Exaptive.  Learn about how to rapidly iterate data applications, while reusing existing code and leveraging open source technologies.

Today I downloaded Seattle's dataset of over 438k 911 police responses for the city and plotted them in R. You can find the data I used and more here: http://data.seattle.gov/

Here's the plot I created in R from this data:

 

Police_911_responses_in_seattle

 

First, compare my plot to this Google Map: 
View Larger Map

I've read about Facebook doing something similar and seeing maps formed, but I've never experienced it for myself. It was awesome to see it happen.

Also (and very unsurprisingly), notice how the darkest area with the most incidents is in downtown, and how abruptly the density changes at the city limits.

Here's how to do it yourself.

  1. Downloaded this specific dataset in CSV format: http://data.seattle.gov/Public-Safety/Seattle-Police-Department-911-Incident-Response/3k2p-39jp
  2. Load it into R by executing the following command: police_911 <- read.csv(file.choose())
  3. Find where you downloaded the file and open it
  4. Then I always use summary to quickly look at the data and get my bearings: summary(police_911)
  5. Notice the Longitude and Latitude columns? Already neatly parsed for us! Time to plot!
  6. plot(police_911$Longitude, police_911$Latitude, pch=20, cex=.01)

That's it! The pch and cex parameters allow me to set the point shape and size respectively. By executing length(police_911$Latitude), I can find out how many rows there are in that column... 438,512. Schiesse!

Update: Here's a map with Fire responses added to it as well. Blue is police and red is fire.

 

Police__fire_911_responses
 

The Big Data Zone is presented by Exaptive.  Learn how rapid data application development can address the data science shortage.

Topics:

Published at DZone with permission of Justin Bozonier , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}