library(readr)
library(ggplot2)
library(kableExtra)
library(dplyr)
library(forcats)
library(here)
library(leaflet)
library(tigris)

load(file = here("data-outputs", "WA940.rda"))

# Select homicides
# Remove suicides and some final cases that don't belong
## 25804-5 are the Tad Norman case in Lake City. 
## Not victims of police violence.
## they were killed by Norman

homicides <- finaldata_940 %>% 
  filter(circumstances.fe != "Suicide" &
           feID != 28698 & #deputy crash while having stroke
           feID != 25804 & #next 2 killed by suspect, not police
           feID != 25805) %>%
  arrange(date)

last.date <- max(homicides$date)
total.incidents <- dim(homicides)[1]

LegDists <- read_csv(here::here("data-raw", "LegDists2_17_2021.csv"))
reps_2021 <- read_csv(here::here("data-raw", "WA_Representatives.csv"))
senators_2021 <- read_csv(here::here("data-raw", "WA_Senators.csv"))

# House and Senate districts are the same, just need one
leg_dists <- LegDists %>%
  rename(District = `State Legislative District House`) %>%
  mutate(District = as.numeric(gsub("State House District ","", District))) %>%
  select(feID, District) 

# 2 Reps per district
reps1 <- reps_2021 %>%
  filter(Position==1) %>%
  select(District, Rep1 = Representative, rep1_elec_yr = `First elected`)

reps2 <- reps_2021 %>%
  filter(Position==2) %>%
  select(District, Rep2 = Representative, rep2_elec_yr = `First elected`)

# 1 Senator per district
sens <- senators_2021 %>%
  select(District, Senator, sen_elec_yr = `First elected`,
         Location = `Counties represented`)

# Data frame for districts with at least one DFI
ldDF <- left_join(homicides, leg_dists) %>%
  left_join(sens) %>%
  left_join(reps1) %>%
  left_join(reps2)

# Data frame for districts with no DFIs
noDFI <- data.frame(District = setdiff(1:49, unique(ldDF$District)))

ldNoDFI <- left_join(noDFI, sens) %>%
  left_join(reps1) %>%
  left_join(reps2) %>%
  mutate(`Number of Deaths` = 0)

# Add column with DFI count by district
base_tbl <- ldDF %>%
  add_count(District) %>%
  arrange(District, desc(date))

# Read in state legislative boundary file for map
# Note lower and upper house share the same district boundaries
## only needs to be done once
## leg <- state_legislative_districts("Washington", "lower", cb = TRUE)

Introduction

After winning over 60% of the statewide vote, Initiative 940 was passed into WA state law on December 6, 2018. This report tracks the number of persons killed by police in WA state since that date, and breaks the incidents down by legislative district.

Where the data come from

All of the data in this report come from established open-source, online resources. These data are freely available to the public, as is the software used for analyzing and hosting this report, allowing the results presented in this document to be reproduced by anyone.

Deadly Force Incidents

There is no official comprehensive state or national data source for data on deadly force incidents in the United States. While a handful of states have centralized collection of data on these incidents, WA state is not one of them, and none of the other states make their data available to the public for download and analysis. There are, however, several crowd-sourced datasets on deadly force incidents that have been developed over the past decade, and these datasets are published online for public use.


The deadly force incident data in this report come from the Fatal Encounters project (https://fatalencounters.org/). The last data update was 2021-02-17.


Fatal Encounters is the most complete source of data on these incidents available. It is updated on a weekly basis, and it can be accessed online, by the public. Fatal Encounters includes all known deaths during encounters with police (by contrast, the Washington Post data set only includes fatal shootings by police).

This report is restricted to:

  • Cases that occurred after the official passage of I-940 into WA state law on December 6, 2018

  • Cases that can be classified as homicides by police, it excludes cases identified in the Fatal Encounters dataset as suicides, and a handful of other cases.


WA Legislative Districts

The Fatal Encounters dataset includes the latitude and longitude of each case. We mapped these to the WA State Legislative Districts using the free online service geocod.io.


WA Legislators

We pulled the names of the 2021 legislators for each district from Wikipedia for the WA House of Representatives and the WA Senate


Find your Legislative District Info

The WA State website offers a couple of easy ways to find your info on this page. You can use either:

  • Address Input – type in your address, click “Find My District”, and the map below will zoom into your district and display the names of your legislators.

  • Interactive Map – or, just click on the area of the interactive map where you live, and the info will display on a pop-up window.


Software

This report has been produced entirely with software and services that are free for public use:

  • The open-source statistical software R,

    The R packages and code used to produce the report can be viewed by clicking the interactive Code buttons that appear along the right margin of the document.

  • The Rstudio IDE.

  • This report is hosted by the Rpubs web-publishing service.

  • And all of this is made possible by the generous help and support from the online stackoverflow community.

Data science for public good.


Summary of incidents

A total of 106 people have been killed by law enforcement since I-940 was passed, 78 by gunshot.

40 of WA state’s 49 legislative districts (LDs) have had at least one deadly force incident.

This table is interactive – You can

  • Sort by each column using the up/down arrows next to the column name (try sorting by Number of Deaths),

  • Search for specific entries in any column using the Search box on the right above the table, and

  • Filter the table by entries in each column using the boxes below the column name.

temp_ldNoDFI <- ldNoDFI %>% 
  select(District, Location, Senator, 
         Rep1, Rep2, `Number of Deaths`)

base_tbl %>%
  group_by(District) %>%
  summarize(Location = first(Location),
            Senator = first(Senator),
            Rep1 = first(Rep1),
            Rep2 = first(Rep2),
            `Number of Deaths` = first(n)
  ) %>%
  bind_rows(temp_ldNoDFI) %>%
  arrange(District) %>%
  DT::datatable(rownames = F,
                caption = "Deadly Force Incidents since I-940 by Legislative District",
                filter = 'top',
                class = 'cell-border stripe',
                options = list(
                  initComplete = JS(
                    "function(settings, json) {",
                    "$('body').css({'font-family': 'Calibri'});",
                    "}"
                  )
                )
  )

Say Their Names

In this table, the highlight color is scaled to the number of persons killed in that district: from light yellow (lowest), through orange and red to purple (highest).

base_tbl %>%
  select(District, Area=Location, Senator, Rep1, Rep2,
         `Their Name`= name, Age = age.fe, 
         Date = date, City = city, Agency = agency, 
         `Cause of Death`= cod.fe) %>%
  mutate(Agency = gsub("Police Department", "PD", Agency),
         Agency = gsub("County Sheriff's Office", "CSO", Agency)) %>%
  group_by(District) %>%
  arrange(desc(Date), .by_group=T) %>%
  kbl(align = "l") %>%
  kable_paper() %>%
  column_spec(1, bold = T, 
              background = spec_color(base_tbl$n, option = "B", 
                                      begin = 0.3, end = 1, 
                                      direction = -1,
                                      alpha = 0.65)) %>%
  column_spec(6, bold = T, 
              background = spec_color(base_tbl$n, option = "B", 
                                      begin = 0.3, end = 1, 
                                      direction = -1,
                                      alpha = 0.65)) %>%
  collapse_rows(columns = 1:5, valign = "top") %>%
  add_header_above(c("District Information" = 5, 
                     "Incident Information" = 6))
District Information
Incident Information
District Area Senator Rep1 Rep2 Their Name Age Date City Agency Cause of Death
1 King, Snohomish Derek Stanford Davina Duerr Shelley Kloba Juan Rene Hummel 25 2020-07-29 Bothell Bothell PD Gunshot
Jonathan Shoop 32 2020-07-13 Bothel Bothell PD Gunshot
2 Pierce, Thurston Jim McCune Andrew Barkis J. T. Wilcox John Eric Ostbye 50 2021-01-25 Graham Pierce CSO Gunshot
Donald Anderson 39 2020-08-09 Graham Pierce CSO Gunshot
Brandon Mark Stokes 37 2020-04-07 La Grande Pierce CSO Gunshot
Sok Chin Son 60 2020-01-21 Lacey Thurston CSO Gunshot
Unknown NA 2019-11-29 Eatonville Pierce CSO Gunshot
3 Spokane Andy Billig Marcus Riccelli Timm Ormsby Shawn McCoy NA 2021-01-05 Spokane Spokane PD Gunshot
Nancy King 70 2020-12-04 Spokane Spokane County Detention Services Gunshot
David W. Shafer 61 2019-10-23 Spokane Spokane PD Gunshot
Dwight Delando Steward 46 2019-01-23 Spokane Spokane PD Gunshot
David M. Novak 35 2019-01-07 Spokane Spokane PD Gunshot
4 Mike Padden Bob McCaslin Jr.  Rob Chase Nicholas Cory Kausshen 41 2020-11-22 Spokane Valley Spokane CSO Gunshot
Joshua Clayton Brant 31 2020-09-11 Spokane Valley Spokane PD Gunshot
Sergey Rumyantsev 25 2019-10-05 Newman Lake Spokane CSO Tasered
Collin Osborn 38 2019-08-16 Spokane Valley Spokane CSO Gunshot
Ethan Austin Murray 25 2019-05-04 Spokane Valley Spokane CSO Gunshot
5 King Mark Mullet Bill Ramos Lisa Callan Anthony Chilcott 36 2019-11-22 Enumclaw King CSO Gunshot
6 Spokane Jeff Holy Mike Volz Jenny Graham Erik "“Ace”" Mahoney 43 2020-09-24 Spokane Spokane PD Gunshot
Clando Anitok 25 2020-01-10 Town and Country Spokane CSO Gunshot
7 Ferry, Okanogan, Pend Oreille, Spokane, Stevens Shelly Short Jacquelin Maycumber Joel Kretz Ryan E. Bass 39 2020-03-03 Riverside Okanogan CSO, Omak PD Gunshot
Unknown NA 2019-06-07 Malo Washington Department of Fish and Wildlife Gunshot
8 Benton Sharon Brown Brad Klippert Matt Boehnke Reno E. Casanova 25 2020-12-15 Kennewick Kennewick PD Asphyxiated/Restrained
Unknown 40 2020-04-03 Kennewick Kennewick PD Gunshot
Gordon L. Whitaker 45 2020-02-09 Kennewick Kennewick PD Gunshot
Jose "“Joey”" Mercado 48 2019-01-20 Richland Richland PD Tasered
9 Adams, Asotin, Franklin, Garfield, Spokane, Whitman Mark Schoesler Mary Dye Joe Schmick Shawn Lee 48 2020-04-12 Ritzville Ritzville PD Gunshot
Dante Redmond Jones 28 2019-11-18 Mesa Franklin CSO Gunshot
11 King Bob Hasegawa David Hackney Steve Bergquist River Hudson 20 2020-05-06 Renton Renton PD Gunshot
Anthony Tovar 43 2019-12-12 Renton Renton PD Gunshot
Unknown NA 2019-10-08 Seattle Seattle PD Vehicle
12 Chelan, Douglas, Grant, Okanogan Brad Hawkins Keith Goehner Mike Steele Thomas M. Mathes III 29 2020-04-21 East Wenatchee Douglas CSO Gunshot
13 Grant, Kittitas, Lincoln, Yakima Judith Warnick Tom Dent Alex Ybarra Jose Luis Rivera 22 2020-02-28 Moses Lake Moses Lake PD Gunshot
Marcos Avalos Barrera 29 2019-09-09 Quincy Quincy PD, Grant CSO, Moses Lake PD, Washington State Patrol Medical emergency
Juan Manuel Flores Del Toro 29 2019-03-19 Kittitas Kittitas CSO Gunshot
14 Clark, Klickitat, Skamania, Yakima Curtis King Chris Corry Gina Mosbrucker Terrance Ryan 66 2018-12-14 Yakima Yakima PD Gunshot
15 Yakima Jim Honeyford Bruce Chandler Jeremie Dufault Seth Button 35 2020-09-22 Yakima Washington State Patrol Vehicle
Neil Sartain 40 2020-09-22 Yakima Washington State Patrol Vehicle
Tiffany Alexis Eubanks 33 2020-06-02 Yakima Yakima PD Asphyxiated/Restrained
Alfredo Chino 38 2019-06-15 Toppenish Toppenish PD Gunshot
16 Benton, Columbia, Franklin, Walla Walla Perry Dozier Mark Klicker Skyler Rude Juan M. "“Scars”" Montalvo 25 2020-05-17 Pasco Pasco PD Gunshot
Alejandro Betancourt Mendoza 18 2019-12-14 Pasco Pasco PD Gunshot
Samuel Gonzales 56 2019-01-21 Prosser Benton CSO, Washington State Patrol Tasered
19 Cowlitz, Grays Harbor, Lewis, Pacific, Wahkiakum Jeff Wilson Jim Walsh Joel McEntire Justin Lee Aguilar Tofte 33 2020-10-02 Longview Cowlitz CSO Gunshot
Kristopher "“Kris”" Fitzpatrick 41 2019-09-09 Aberdeen Aberdeen PD Gunshot
Christopher "“Chris”" P. Johnson 51 2019-09-08 Longview Longview PD, Cowlitz CSO, Kelso PD Gunshot
Patrick E. West 42 2019-04-17 Montesano Montesano PD Gunshot
20 Clark, Cowlitz, Lewis, Thurston John Braun Peter Abbarno Ed Orcutt Joshua Flores 18 2019-06-18 Centralia Centralia PD Gunshot
Brian Dellaann Butts 33 2019-04-14 Kalama Cowlitz CSO Gunshot
Robert D. Richardson 40 2019-03-03 Glenoma Lewis CSO Gunshot
21 Snohomish Marko Liias Strom Peterson Lillian Ortiz-Self Ryan D. Hemmingson 44 2019-11-09 Everett Snohomish CSO Gunshot
22 Thurston Sam Hunt Laurie Dolan Jessica Bateman Michael Forest Reinoehl 48 2020-09-03 Lacey U.S. Marshals Service Gunshot
Charles M. Taylor 36 2019-07-01 Tumwater Lewis CSO Medical emergency
23 Kitsap Christine Rolfes Tarra Simmons Drew Hansen Stonechild Chiefstick 39 2019-07-03 Poulsbo Poulsbo PD Gunshot
24 Clallam, Grays Harbor, Jefferson Kevin Van De Wege Mike Chapman Steve Tharinger Bret James Moore 56 2020-08-31 Hoquiam Grays Harbor CSO Burned/Smoke inhalation
Tanya Rondon 47 2020-08-31 Hoquiam Grays Harbor CSO Burned/Smoke inhalation
Jaiden Angel Jewel Good 19 2019-10-10 Elma Washington State Patrol Vehicle
25 Pierce Chris Gildon Kelly Chambers Cyndy Jacobsen Quincy Ivan Bishop 30 2020-11-01 Puyallup Buckley PD, Puyallup PD, Pierce CSO Gunshot
Maria Teresa Magana Bedolla 31 2020-04-10 Parkland Pierce CSO Vehicle
26 Kitsap, Pierce Emily Randall Jesse Young Michelle Caldier David James Pruitte 36 2020-08-04 Port Orchard Kitsap CSO Gunshot
27 Pierce Jeannie Darneille Laurie Jinkins Jake Fey Bennie Branch 24 2019-09-08 Tacoma Tacoma PD Gunshot
Hashim Jibri Wilson 28 2019-07-21 Tacoma Tacoma PD Gunshot
Willem Van Spronsen 69 2019-07-13 Tacoma Tacoma PD Gunshot
29 Steve Conway Melanie Morgan Steve Kirby Said Joquin 26 2020-05-01 Lakewood Lakewood PD Gunshot
Manuel "“Manny”" Elijah Ellis 33 2020-03-03 Tacoma Tacoma PD Asphyxiated/Restrained
Curtis French 56 2019-11-03 Parkland Pierce CSO Gunshot
Keith Lawrence Harvey 43 2019-01-13 Lakewood Lakewood PD Gunshot
30 King, Pierce Claire Wilson Jamila Taylor Jesse Johnson Joshua Sarrett 32 2020-09-19 Auburn King CSO Gunshot
Malik Tejon Elijah Williams 23 2019-12-31 Federal Way Federal Way PD Gunshot
Kimberly K. Winslow 41 2019-11-24 Federal Way Federal Way PD Vehicle
31 Phil Fortunato Eric E. Robertson Drew Stokesbary Nicholas Ellingson 37 2020-12-17 Auburn Auburn PD Gunshot
Ensoa Strickland 26 2019-05-20 Auburn Auburn PD Gunshot
32 King, Snohomish Jesse Salomon Cindy Ryu Lauren Davis Unknown NA 2020-09-10 Seattle Snohomish CSO Vehicle
Aaron Gregory Olsvik 23 2020-07-16 Shoreline King CSO Gunshot
Khanh Tran 66 2019-01-13 Lynnwood Edmonds PD Vehicle
33 King Karen Keiser Tina Orwall Mia Gregerson Unknown 25 2021-01-16 Kent Kent PD Vehicle
Miguel A. Barraza Lugo 37 2019-01-07 Kent Kent PD Gunshot
35 Kitsap, Mason, Thurston Tim Sheldon Dan Griffey Drew C. MacEwen Kathryn R. Hale 32 2020-03-24 Shelton Mason CSO Gunshot
36 King Reuven Carlyle Noel Frame Liz Berry Terry J. Caver 57 2020-05-19 Seattle Seattle PD Gunshot
Ryan Matthew Smith 31 2019-05-08 Seattle Seattle PD Gunshot
37 Rebecca Saldana Sharon Tomiko Santos Kirsten Harris-Talley Gregory Taylor 45 2021-02-09 Seattle Seattle PD Gunshot
Su Thin Sang 54 2020-09-11 Seattle Seattle PD Vehicle
Sy Ly Kiu 54 2020-09-11 Seattle Seattle PD Vehicle
Shaun Lee Fuhr 24 2020-04-29 Columbia City Seattle PD Gunshot
Mantry Norris 20 2019-06-15 Renton Renton PD Gunshot
38 Snohomish June Robinson Emily Wicks Mike Sells Helen Reeder 97 2020-08-29 Marysville Marysville PD Vehicle
Sudin Self Johnson 25 2020-08-29 Marysville Marysville PD Vehicle
Colin A. C. Wehmeyer 39 2019-11-14 Everett Everett PD Tasered
40 San Juan, Skagit, Whatcom Liz Lovelett Debra Lekanoff Alex Ramel Joseph Dorn 34 2019-03-20 Mount Vernon Mount Vernon PD Tasered
43 King Jamie Pedersen Nicole Macri Frank Chopp Travis Berge NA 2020-09-18 Seattle Seattle PD Drowned
45 Manka Dhingra Roger Goodman Larry Springer Ronny Dunning 22 2020-11-09 Woodinville King CSO Gunshot
Derek Antonio Sanchez 35 2019-07-13 Kirkland Kirkland PD Gunshot
46 David Frockt Gerry Pollet Javier Valdez Elliott Yearby 29 2019-12-16 Seattle Seattle PD Vehicle
Danny Rodriguez 34 2019-02-07 Seattle Seattle PD Gunshot
Iosia Faletogo 36 2018-12-31 Seattle Seattle PD Gunshot
47 Mona Das Debra Entenman Pat Sullivan Darren A. Butrick 60 2020-11-04 Kent Kent PD Gunshot
Sergey Pavlovich 18 2019-06-28 Kent Kent PD Vehicle
Jesse Sarey 26 2019-05-31 Auburn Auburn PD Gunshot
48 Patty Kuderer Vandana Slatter Amy Walen Andrea Churna 39 2020-09-20 Redmond Redmond PD Gunshot
49 Clark Annette Cleveland Sharon Wylie Monica Stonier Jenoah Donald 30 2021-02-04 Hazel Dell Clark CSO Gunshot
Kevin E. Peterson 21 2020-10-29 Vancouver Clark CSO Gunshot
Andrew A. Williams 41 2020-10-04 Vancouver Vancouver PD Gunshot
William E. Abbe 50 2020-04-28 Vancouver Vancouver PD Gunshot
Carlos Markein Hunter 43 2019-03-07 Hazel Dell South Vancouver PD Gunshot
Michael Eugene Pierce 29 2019-02-28 Vancouver Vancouver PD Gunshot
Clayton Joseph 16 2019-02-19 Vancouver Vancouver PD Gunshot

Interactive Map

The circled numbers on this map represent the number of persons killed by law enforcement in that area. Circle color represents higher (orange) or lower (green) values.

  • Hovering over the number will show the outline of the area covered,

  • Clicking the number will zoom into that area, and show the map pointers for each person killed.

The blue pointers show the location of each person killed.

  • Hovering over the pointer brings up the name, age and date of the person killed, the agency of the officer who killed them and the WA legislative district information;

  • Clicking the pointer will bring up a url to a news article on the case.

The legislative district boundaries are marked in black.

labs <- lapply(seq(nrow(base_tbl)), function(i){  
  paste0( '<p>', base_tbl[i,"name"], 
          ", age ", base_tbl[i,"age.fe"], 
          ", on ", base_tbl[i,"date"],
         '<p></p> by ', base_tbl[i,"agency"],
         '<p></p> WA Legislative District ', base_tbl[i,"District"],
         '<p></p> (S ', base_tbl[i,"Senator"],
         ", R1 ", base_tbl[i,"Rep1"],
         ", R2 ", base_tbl[i,"Rep2"], ")",
         '</p>' )
  })

#leg <- state_legislative_districts("WA", year = "2019", cb = TRUE)

map <- leaflet(leg, width = "100%") %>%
  addTiles() %>%
  addMarkers( ~ base_tbl$longitude,
              ~ base_tbl$latitude,
              popup = ~ base_tbl$url_info,
              label = lapply(labs, htmltools::HTML),
              clusterOptions = markerClusterOptions()) %>%
  addPolygons(fillColor = "honeydew",
              color = "black",
              weight = 1)

map

Appendix: What is a homicide?

The deadly force incidents in this report are homicides. A homicide is simply defined as the killing of one person by another. In the context of this report it refers to any encounter with law enforcement officers that results in a fatality. Homicides normally result in a criminal investigation or inquest, but the word does not imply a crime has been committed.

  • The word homicide means only that the death was caused in some way by the officer.

  • It does not not mean the officer’s actions that led to the death were justified, or that they were unjustified.

There are many different types of homicides. In the U.S., these types and definitions vary across states, but there are some general similarities. The definitions below are taken from a useful online summary found here, based on California State laws.

Homicide
Homicide is the killing of one person by another. This is a broad term that includes both legal and illegal killings. For example, a soldier may kill another soldier in battle, but that is not a crime. The situation in which the killing happened determines whether it is a crime.

  • Murder is the illegal and intentional killing of another person. Under California Penal Code Section 187, for example, murder is defined as one person killing another person with malice aforethought. Malice is defined as the knowledge and intention or desire to do evil. Malice aforethought is found when one person kills another person with the intention to do so.

    In California, for example, a defendant may be charged with first-degree murder, second-degree murder, or capital murder.

    • First-degree murder is the most serious and includes capital murder – first-degree murder with “special circumstances” that make the crime even more egregious. These cases can be punishable by life in prison without the possibility of parole, or death.

    • Second-degree murder is murder without premeditation, but with intent that is typically rooted in pre-existing circumstances. The penalty for second-degree murder may be up to 15 years to life in prison in California.

    • Felony murder is a subset of first-degree murder and is charged when a person is killed during the commission of a felony, such as a robbery or rape.

  • Manslaughter is the illegal killing of another person without premeditation, and in some cases without the intent to kill. These cases are treated as less severe crimes than murder. Manslaughter can also be categorized as voluntary or involuntary.

    • Voluntary manslaughter occurs when a person kills another without premeditation, typically in the heat of passion. The provocation must be such that a reasonable person under the same circumstances would have acted the same way. Penalties for voluntary manslaughter include up to 11 years in prison in California.

    • Involuntary manslaughter is when a person is killed by actions that involve a wanton disregard for life by another. Involuntary manslaughter is committed without premeditation and without the true intent to kill, but the death of another person still occurs as a result. Penalties for involuntary manslaughter include up to four years in prison in California.

    • Vehicular manslaughter occurs when a person dies in a car accident due to another driver’s gross negligence or even simple negligence, in certain circumstances.