This vignette tries to implement the SPSS code used by the Murder Accountability Project to look for serial killers.

Load libraries

library(murderdata)
library(dplyr)
library(magrittr)

Get the data

We are using the supplementary data set since it has the most detal.

murder_data <- get_murderdata("supplementary")

Do some data summarization

We will create a data set that summarizes the data for us. We will group by the sex of the victim, the country of the murder and the weapon used. Then we will summarize total murders, cases solved and the percentage solved.

serial_killers <- murder_data %>%
  mutate(Solved = Solved %>% factor() %>% as.numeric() %>% subtract(1)) %>%
  group_by(VicSex, CNTYFIPS, Weapon) %>%
  summarise(total = n(),
            solved = sum(Solved),
            percentage = mean(Solved)) %>%
  ungroup() 

Possible uncaught serial killers

We want to find possible serial killers. They are (as far as I know) usually men who target women. So we will focus on female victims only, then find counties where more than 33% of a specific type of murder (by choice of weapon) has gone unsolved.

possible_serial_killers <- serial_killers %>%
  filter(VicSex == "Female",
         percentage <= .33) %>%
  mutate(unsolved = total - solved) %>%
  arrange(desc(unsolved))

Lets have a look

possible_serial_killers %>% select(-VicSex) %>% head() %>% knitr::kable()
CNTYFIPS Weapon total solved percentage unsolved
St. Louis city, MO Firearm, type not stated 203 62 0.3054187 141
Fulton, GA Strangulation - hanging 133 33 0.2481203 100
King, WA Other or type unknown 108 31 0.2870370 77
St. Louis city, MO Other or type unknown 107 35 0.3271028 72
District of Columbia Strangulation - hanging 71 19 0.2676056 52
Jackson, MO Strangulation - hanging 73 22 0.3013699 51

Here we see that in Fulton County in Georgia we have over a 133 strangled female victims, but only 33 of them have been solved… Is there a potential serial killer lurking in Fulton County?