Correlation between weather condition and the type of Crime

Posted on Aug 13, 2015

1.  Contributed by Brian Lam.

2.  Student of Data Science with R: Data Analysis and Visualization with Paul Trowbridge in Summer 2015.

3.  The post is based on using data analysis and visualization to investigate weather condition and the type of Crime occur in San Francisco.


Does criminal prefer to work on specific weekdays or temperature? Does Burglary or theft choose sunny day over rainy day? Tenderloin area is infamous of high crime area, what type of crime do they have the most? Does criminal prefer to work on night time? My study of the Crime tries to find answer from San Francisco Police crime. I found San Francisco Police report from Kaggle website and download weather report using weatherData library. My study will be target 9 types of crime included arson, assault, burglary, DUI, Drug, vandalism, vehicle theft, robbery and bribery.


1. Using San Francisco Police Report and aggregate type of crime, hour of crime, and weekdays of the crime.  Using WeatherData library to retrieve San Francisco weather from December 13, 2014 to May 13,2015 and aggregate the temperature and raining condition by hour.  Merge weather data with crime data.

2.  Create a visualization map to find crime pattern at different crime at San Francisco, graphing each crime by hour to visualize highest crime by hour, graph each crime per weekdays to visualize and highest crime of the weekdays.

#Get the weather data in San Francisco from 2014-12-13 to 2015-05-13
d3<- getWeatherForDate("SFO", start_date="2014-12-13",
                       end_date = "2015-05-13",
                       opt_detailed = TRUE,
                       opt_all_columns = TRUE)
temp <- d3[, c(1,2,3,13)]
temp$Time <- format(as.POSIXct(temp$Time, format = "%Y-%m-%d %H:%M%S"), "%m/%d/%Y")
# Coerce the string to PoSIXIt date
temp$TimePST <- format(as.POSIXct(temp$Time, format = "%Y-%m-%d %H:%M%S"), "%H")
temp$Time <- format(as.POSIXct(temp$Time, format = "%Y-%m-%d %H:%M%S"), "%m/%d/%Y")
# Convert weather Condition to 1 for Rain and 0 for Clear or Cloudy day
for (i in 1: length(temp$Conditions)){
  if(temp$Conditions[i] == "Light Rain" || temp$Conditions[i] =="Heavy Rain" ||temp$Conditions[i] =="Rain")
  {temp$Conditions[i] = 1
    temp$Conditions[i] =0
#Aggregate the hour of the date for weather in San Francisco
temp$TimePST <- as.integer(temp$TimePST)
temp$Conditions <- as.integer(temp$Conditions)
temp <- ddply(temp, c("TimePST", "Time"),summarise,
              Temperature = mean(TemperatureF),
              Condition = mean(Conditions)


Using RGoogle Map library to plot the the location of crime base on latitude and longitude.

Tenderloin (area in AT&T park) is infamous for highest crime in the city of San Francisco but not all crime are the same. Theft crime is mostly occurs at this region but other type of crime are even distributed among San Francisco.



Mapping out crime rate v. Temperature, Temperature are aggregate at 4 degree Fahrenheit.

Mapping out crime rate v. Temperature, Temperature are aggregate at 4 degree Fahrenheit.


From this chart, we can see temperature has negative correlation with the crime.  Most criminal prefer to do the crime at cooler temperature than hot day.  However, assault rate is higher at hot temperature than cooler temperature.  As expected, bribery and DUI has no influence by the change of temperature.


Crime Rate of Weather condition.

Crime Rate of Weather condition.

Most crime has no significant difference between raining day and sunny day.  It is interesting to note more assault and vandalism occurred on raining day than non raining day.  As expected, bribery, DUI and Drugs related crime does not depend on raining condition.  Most Robbery occurred during non raining day.

Average San Francisco Crime from Dec 14, 2014 to May 13,2015

Average San Francisco Crime from Dec 14, 2014 to May 13,2015

Interestingly, we see that the average rate of crime are different per weekday.  Assault rate is highest on Friday but dropped significantly on Saturday.  Burglary is highest on Friday and Wednesday but low on Sunday.  Robbery is highest among the week.  Vehicle theft like to steal car on Friday.  As expected, DUI is higher on Friday and Saturday.


Assault, Arson and Burlary crime rate

Breakdown crime rate by hours from 0-23 hours

Robbery, DUI and Vehicle Theft breakdown by hours


vandalism, bribery,drug

Breakdown Vandalism, Bribery, and drugs by hours

Criminal are most active at night time from 4pm to 12 am and lowest at 3-6 am.  Most interestingly to note highest drug related arrested at around 4pm.  DUI related arrested is mostly around 11pm to 12 am.


Contrast to our belief, most criminals do not prefer to do their crime at sunny day over rainy day.  From our correlation plot, we found criminals are most active at cooler temperature than hot temperature.  However, San Francisco has moderate temperature swing, most of the time San Francisco temperature range is from 60-80s.  I believe if I do a research on temperature of New York to temperature, criminal activities will decrease when the temperature drop 30 or less.  The next step of this research is to create a predictive model to predict the type of crime base on the temperature and weather condition of the day.

About Author

Leave a Comment

Google December 25, 2019
Google Check below, are some entirely unrelated web-sites to ours, nonetheless, they are most trustworthy sources that we use.
Google December 3, 2019
Google The info mentioned in the post are several of the ideal obtainable.
Avatar June 1, 2016
I have no idea of any softphone which has "always on" call record where it records every call without consumer input, However , I don't know them all as I mainly use Bria myself.
Avatar January 27, 2016
See the answer by Nabuch for the victor! Yes folks, THERE IS CERTAINLY wonderful, full-featured VoIP applications out there, and the big shock is the fact that no one has heard of it!
sdf December 4, 2015
Nice post. I used to be checking constantly this weblog and I am inspired! Extremely helpful info specifically the last section :) I handle such information much. I used to be seeking this certain info for a very long time. Thanks and good luck.

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 airbnb Alex Baransky alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus API Application artist aws beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep Bundles California Cancer Research capstone Career Career Day citibike clustering Coding Course Demo Course Report D3.js data Data Analyst data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization Deep Learning Demo Day Discount dplyr employer networking feature engineering Finance Financial Data Science Flask gbm Get Hired ggplot2 googleVis Hadoop higgs boson Hiring hiring partner events Hiring Partners Industry Experts Instructor Blog Instructor Interview Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter lasso regression Lead Data Scienctist Lead Data Scientist leaflet linear regression Logistic Regression machine learning Maps matplotlib Medical Research Meet the team meetup Networking neural network Neural networks New Courses nlp NYC NYC Data Science nyc data science academy NYC Open Data NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time Portfolio Development prediction Prework Programming PwC python python machine learning python scrapy python web scraping python webscraping Python Workshop R R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn Selenium sentiment analysis Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau team TensorFlow Testimonial tf-idf Top Data Science Bootcamp twitter visualization web scraping Weekend Course What to expect word cloud word2vec XGBoost yelp