Roster_March18 <- rio::import("https://docs.google.com/spreadsheets/d/1lsP37hPHXQ_KlBOsDJw5s7ehQlmeBqdX/edit#gid=814904708", which = "March18Roster")
Roster_March18 <- janitor::clean_names(Roster_March18)
Rename
glimpse(Roster_March18)
## Observations: 637
## Variables: 10
## $ placeholder <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
## $ name_last_first <chr> "AGUILERA, AARON ", "AKERS, EARREONNA ", "ALARCO…
## $ age <chr> "33 ", "21 ", "20 ", "20 ", "32 ", "31 ", "32 ",…
## $ race <chr> "H ", "B ", "H ", "B ", "H ", "W ", "B ", "B ", …
## $ sex <chr> "M ", "F ", "M ", "M ", "M ", "M ", "M ", "M ", …
## $ booking_date <chr> "02/07/2020 ", "02/19/2020 ", "02/17/2020 ", "06…
## $ v7 <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
## $ housing_address <chr> "22233 BUTLER FORD RD, SPRINGDALE, AR 72764-", "…
## $ charge <chr> "Aggravated assault, terroristic threatening, fa…
## $ homeless <chr> "No", "No", "No", "No", "No", "No", "No", "Yes",…
Homeless_March18 <- Roster_March18 %>%
filter(homeless == "Yes")
glimpse(Homeless_March18)
## Observations: 73
## Variables: 10
## $ placeholder <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
## $ name_last_first <chr> "ALLEN, QUINTTON ", "ALVARADO, COLTON ", "BARRON…
## $ age <chr> "29 ", "26 ", "64 ", "51 ", "34 ", "42 ", "37 ",…
## $ race <chr> "B ", "W ", "W ", "W ", "W ", "W ", "W ", "H ", …
## $ sex <chr> "M ", "M ", "M ", "M ", "M ", "M ", "M ", "M ", …
## $ booking_date <chr> "01/21/2020 ", "03/13/2020 ", "01/24/2020 ", "01…
## $ v7 <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
## $ housing_address <chr> "HOMELESS, FAYETTEVILLE, AR 72701-", "SUPER 8, L…
## $ charge <chr> "Assault, probation violation, failure to appear…
## $ homeless <chr> "Yes", "Yes", "Yes", "Yes", "Yes", "Yes", "Yes",…
df <- Roster_March18 %>%
count(homeless)
df
## # A tibble: 2 x 2
## homeless n
## <chr> <int>
## 1 No 564
## 2 Yes 73
count.data <- df %>%
data.frame(prop = c(88.7, 11.3))
count.data <- count.data %>%
mutate(lab.ypos = cumsum(prop) - 0.5*prop)
theme_set(theme_classic(base_size = 18))
mycols <- c("#0073C2FF", "#EFC000FF", "#868686FF", "#CD534CFF")
ggplot(count.data, aes(x = "", y = prop, fill = homeless)) +
geom_bar(width = 1, stat = "identity", color = "white") +
coord_polar("y", start = 0)+
geom_text(aes(y = lab.ypos, label = n), color = "white")+
scale_fill_manual(values = mycols) +
theme_void() +
labs(title= "Homeless Detainees in Washington County Detention Center",
subtitle="Data collected from detainee roster on March 28, 2020",
caption= "Graphic by Michael Adkison",
x= "Homeless Inmates",
y= "Non-Homeless Inmates")
ChargeStatistics <- rio::import("https://docs.google.com/spreadsheets/d/1lsP37hPHXQ_KlBOsDJw5s7ehQlmeBqdX/edit#gid=1846079051", which = "March18ChargeStats")
ChargeStatistics <- janitor::clean_names(ChargeStatistics)
Remove row 74 with totals
ChargeStatistics <- ChargeStatistics[-c(74),]
Summary of charges by category
df2 <- ChargeStatistics %>%
summarize_if(is.numeric, sum, na.rm=TRUE)
df3 <- add_rownames(df2) %>%
gather(Charge, n, -rowname) %>%
spread(rowname, n)
## Warning: Deprecated, use tibble::rownames_to_column() instead.
colnames(df3)[2] <- "Total"
df3$Charge <- gsub("felony_y_n", "Felony", df3$Charge)
df3$Charge <- gsub("drug_dwi", "Drug or DWI", df3$Charge)
df3$Charge <- gsub("administrative", "Administrative", df3$Charge)
df3$Charge <- gsub("assault_violence", "Assault of Violence", df3$Charge)
df3$Charge <- gsub("family_related", "Family Related", df3$Charge)
df3
## # A tibble: 5 x 2
## Charge Total
## <chr> <int>
## 1 Administrative 64
## 2 Assault of Violence 13
## 3 Drug or DWI 25
## 4 Family Related 3
## 5 Felony 5
Chart of charges
ggplot(df3, aes(x = Charge, y = Total, fill= Total)) +
geom_col(position = "dodge", show.legend=FALSE) +
coord_flip() +
geom_text(aes(label= Total, x= Charge, y= Total), hjust=-1, vjust=1) +
scale_y_continuous(limits=c(0, 75)) +
labs(title= "Charges for Homeless Detainees",
subtitle= "Washington Co. Sheriff Detainee Roster, 3/28/2020",
caption= "Graphic by Michael Adkison",
x= "",
y= "Number of occurrences")
Compare Roster https://drive.google.com/file/d/1lsP37hPHXQ_KlBOsDJw5s7ehQlmeBqdX/view?usp=sharing
March 18 Roster = 637 detainees, 73 homeless or 11%
March 27 Roster = 418 detainees, 42 homeless or 10%
Overall Jail population reduced by 219 as March 27 from March 18. That accounts for 20 new detainees over the period.
238 of the March 18 detainees were gone by March 27. Of this, 33 were homeless, or 14%.
Records show 33 fewer homeless people in jail comparing the 399 matching records
399 inmate names on March 27 remain, they match the March 18 roster
20 new inmates since March 18
3 of the new inmates are homeless
Clean names
Roster_March18$name2 <- gsub(",", "_", Roster_March18$name_last_first)
Roster_March18$name2 <- gsub("\\s", "", Roster_March18$name2)
File exam of March 18
#March 18 Roster: 637 detainees
nrow(Roster_March18)
## [1] 637
glimpse(Roster_March18)
## Observations: 637
## Variables: 11
## $ placeholder <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
## $ name_last_first <chr> "AGUILERA, AARON ", "AKERS, EARREONNA ", "ALARCO…
## $ age <chr> "33 ", "21 ", "20 ", "20 ", "32 ", "31 ", "32 ",…
## $ race <chr> "H ", "B ", "H ", "B ", "H ", "W ", "B ", "B ", …
## $ sex <chr> "M ", "F ", "M ", "M ", "M ", "M ", "M ", "M ", …
## $ booking_date <chr> "02/07/2020 ", "02/19/2020 ", "02/17/2020 ", "06…
## $ v7 <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
## $ housing_address <chr> "22233 BUTLER FORD RD, SPRINGDALE, AR 72764-", "…
## $ charge <chr> "Aggravated assault, terroristic threatening, fa…
## $ homeless <chr> "No", "No", "No", "No", "No", "No", "No", "Yes",…
## $ name2 <chr> "AGUILERA_AARON", "AKERS_EARREONNA", "ALARCON_BR…
Roster_March27 <- rio::import("https://docs.google.com/spreadsheets/d/1lsP37hPHXQ_KlBOsDJw5s7ehQlmeBqdX/edit#gid=1284726909", which = "March27Roster")
Roster_March27 <- janitor::clean_names(Roster_March27)
#Clean Names
Roster_March27$name2 <- gsub(",", "_", Roster_March27$name_last_first)
Roster_March27$name2 <- gsub("\\s", "", Roster_March27$name2)
#March 27 Roster: 418 detainees
nrow(Roster_March27)
## [1] 418
glimpse(Roster_March27)
## Observations: 418
## Variables: 9
## $ name_last_first <chr> "AGUILERA, AARON", "AKERS, EARREONNA", "ALEXANDE…
## $ age <int> 33, 21, 20, 32, 32, 38, 26, 25, 27, 18, 38, 29, …
## $ race <chr> "H", "B", "B", "H", "B", "B", "P", "H", "W", "M"…
## $ sex <chr> "M", "F", "M", "M", "M", "M", "M", "M", "M", "M"…
## $ booking_date <chr> "02/07/2020", "02/19/2020", "06/28/2019", "12/19…
## $ housing_address <chr> "22233 BUTLER FORD RD, SPRINGDALE, AR 72764-", "…
## $ charge <chr> "Aggravated assault, terroristic threatening, fa…
## $ homeless <chr> "No", "No", "No", "No", "No", "No", "No", "No", …
## $ name2 <chr> "AGUILERA_AARON", "AKERS_EARREONNA", "ALEXANDER_…
Number homeless on March 18: 73
bf <- Roster_March18 %>%
count(homeless) %>%
arrange(desc(n)) %>%
mutate(Pct = (100*(n/(sum(n)))),'%')
bf$Pct <- round(bf$Pct, 2)
bf
## # A tibble: 2 x 4
## homeless n Pct `"%"`
## <chr> <int> <dbl> <chr>
## 1 No 564 88.5 %
## 2 Yes 73 11.5 %
Number homeless on March 27: 42
wtf <- Roster_March27 %>%
count(homeless) %>%
arrange(desc(n)) %>%
mutate(Pct = (100*(n/(sum(n)))),'%')
wtf$Pct <- round(wtf$Pct, 2)
nrow(wtf)
## [1] 2
wtf
## # A tibble: 2 x 4
## homeless n Pct `"%"`
## <chr> <int> <dbl> <chr>
## 1 No 376 90.0 %
## 2 Yes 42 10.0 %
There are 31 fewer homeless people in jail since March 27. But this doesn’t account for the number of homeless people released and the number of homeless added
Who remains - 399 match
Remain <- Roster_March27 %>%
inner_join(Roster_March18, by="name2")
nrow(Remain)
## [1] 399
head(Remain)
## name_last_first.x age.x race.x sex.x booking_date.x
## 1 AGUILERA, AARON 33 H M 02/07/2020
## 2 AKERS, EARREONNA 21 B F 02/19/2020
## 3 ALEXANDER, DAJOHN 20 B M 06/28/2019
## 4 ALFARO, JOSEPH 32 H M 12/19/2019
## 5 ALLEN, JOE 32 B M 02/27/2020
## 6 ALLEN, RICKY 38 B M 02/06/2020
## housing_address.x
## 1 22233 BUTLER FORD RD, SPRINGDALE, AR 72764-
## 2 250 N AQUA CROSSING, FAYETTEVILLE, AR 72701-
## 3 2401 E 115TH ST, LOS ANGELES, CA 90059-
## 4 7103 GREY DAWN LANE, DALLAS, TX 75227-
## 5 20331 W DEANE, FAYETTEVILLE, AR 72701-
## 6 742 N BETTY JOE DRIVE, FAYETTEVILLE, AR 72701-
## charge.x
## 1 Aggravated assault, terroristic threatening, failure to appear
## 2 Assault, possession, theft, failure to appear
## 3 Hold for other dept.
## 4 Violation of probation
## 5 Public intoxication, possession, fleeing, obstructing government operations
## 6 Drugs, possession, parole violation
## homeless.x name2 placeholder name_last_first.y age.y race.y
## 1 No AGUILERA_AARON NA AGUILERA, AARONÂ 33Â HÂ
## 2 No AKERS_EARREONNA NA AKERS, EARREONNAÂ 21Â BÂ
## 3 No ALEXANDER_DAJOHN NA ALEXANDER, DAJOHNÂ 20Â BÂ
## 4 No ALFARO_JOSEPH NA ALFARO, JOSEPHÂ 32Â HÂ
## 5 No ALLEN_JOE NA ALLEN, JOEÂ 32Â BÂ
## 6 No ALLEN_RICKY NA ALLEN, RICKYÂ 38Â BÂ
## sex.y booking_date.y v7 housing_address.y
## 1 MÂ 02/07/2020Â NA 22233 BUTLER FORD RD, SPRINGDALE, AR 72764-
## 2 FÂ 02/19/2020Â NA 250 N AQUA CROSSING, FAYETTEVILLE, AR 72701-
## 3 MÂ 06/28/2019Â NA 2401 E 115TH ST, LOS ANGELES, CA 90059-
## 4 MÂ 12/19/2019Â NA 7103 GREY DAWN LANE, DALLAS, TX 75227-
## 5 MÂ 02/27/2020Â NA 20331 W DEANE, FAYETTEVILLE, AR 72701-
## 6 MÂ 02/06/2020Â NA 742 N BETTY JOE DRIVE, FAYETTEVILLE, AR 72701-
## charge.y
## 1 Aggravated assault, terroristic threatening, failure to appear
## 2 Assault, possession, theft, failure to appear
## 3 Hold for other dept.
## 4 Violation of probation
## 5 Public intoxication, possession, fleeing, obstructing government operations
## 6 Drugs, possession, parole violation
## homeless.y
## 1 No
## 2 No
## 3 No
## 4 No
## 5 No
## 6 No
Who was added - use antiJoin - shows 20 additions since March 18
NewInmates <- Roster_March27 %>%
anti_join(Roster_March18, by="name2")
nrow(NewInmates)
## [1] 20
head(NewInmates)
## name_last_first age race sex booking_date
## 1 BARRETT, THOMAS 46 W M 03/24/2020
## 2 BATES, DONALD 29 W M 03/27/2020
## 3 BINEJAL, ALBINTA 39 A M 03/23/2020
## 4 BINGHAM, LUCAS 18 W M 03/24/2020
## 5 COLLINSWORTH, ROBERT 41 W M 03/22/2020
## 6 EDWARDS, ARCHIE 63 W M 03/24/2020
## housing_address
## 1 HOMELESS, FAYETTEVILLE, AR 72701-
## 2 3300 DIANNA ST, SPRINGDALE, AR 72764-
## 3 3164 BRAXTON AVENUE, SPRINGDALE, AR 72764-
## 4 121 SOUTH PINE STREET, NASHVILLE, AR 71852-
## 5 420 MAINSTREET, WINSLOW, AR 72719-
## 6 1832 S SCHOOL, FAYETTEVILLE, AR 72701-
## charge
## 1 Public intoxication, parole violation, hold for other dept.
## 2 False imprisonment, assault on family member, failure to pay fines
## 3 Negligent homicide, battery
## 4 Failure to appear
## 5 Driving violations, fleeing, contempt of court
## 6 False imprisonment, assault on family member, battery, harassment, public intoxication, terroristic threatening
## homeless name2
## 1 Yes BARRETT_THOMAS
## 2 No BATES_DONALD
## 3 No BINEJAL_ALBINTA
## 4 No BINGHAM_LUCAS
## 5 No COLLINSWORTH_ROBERT
## 6 Yes EDWARDS_ARCHIE
Who departed - flip the antiJoin, start with March 18. 238 people
Departed <- Roster_March18 %>%
anti_join(Roster_March27, by="name2")
head(Departed)
## placeholder name_last_first age race sex booking_date v7
## 1 NA ALARCON, BRYANÂ 20Â HÂ MÂ 02/17/2020Â NA
## 2 NA ALLEN, DAVIDÂ 31Â WÂ MÂ 03/04/2020Â NA
## 3 NA ALLEN, QUINTTONÂ 29Â BÂ MÂ 01/21/2020Â NA
## 4 NA ALVARADO, COLTONÂ 26Â WÂ MÂ 03/13/2020Â NA
## 5 NA ARCEO, ALEXANDERÂ 36Â HÂ MÂ 12/20/2019Â NA
## 6 NA BAILEY, RACHAELÂ 32Â WÂ FÂ 01/12/2020Â NA
## housing_address
## 1 722 EMERALD, LOWELL, AR 72745-
## 2 8401 TRAILS IN LANE, OZARK, AR 72949-
## 3 HOMELESS, FAYETTEVILLE, AR 72701-
## 4 SUPER 8, LINCOLN, AR 72744-
## 5 836 TAMARACK, SPRINGDALE, AR 72764-
## 6 97 DOUBLE SPRINGS ROAD, FAYETTEVILLE, AR 72701-
## charge
## 1 Failure to appear
## 2 Public intoxication, identify fraud, obstructing government operations
## 3 Assault, probation violation, failure to appear
## 4 Drug possession, firearm possession
## 5 Failure to appear
## 6 Failure to appear
## homeless name2
## 1 No ALARCON_BRYAN
## 2 No ALLEN_DAVID
## 3 Yes ALLEN_QUINTTON
## 4 Yes ALVARADO_COLTON
## 5 No ARCEO_ALEXANDER
## 6 No BAILEY_RACHAEL
glimpse(Departed)
## Observations: 238
## Variables: 11
## $ placeholder <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
## $ name_last_first <chr> "ALARCON, BRYAN ", "ALLEN, DAVID ", "ALLEN, QUIN…
## $ age <chr> "20 ", "31 ", "29 ", "26 ", "36 ", "32 ", "36 ",…
## $ race <chr> "H ", "W ", "B ", "W ", "H ", "W ", "W ", "W ", …
## $ sex <chr> "M ", "M ", "M ", "M ", "M ", "F ", "F ", "M ", …
## $ booking_date <chr> "02/17/2020 ", "03/04/2020 ", "01/21/2020 ", "03…
## $ v7 <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
## $ housing_address <chr> "722 EMERALD, LOWELL, AR 72745-", "8401 TRAILS I…
## $ charge <chr> "Failure to appear", "Public intoxication, ident…
## $ homeless <chr> "No", "No", "Yes", "Yes", "No", "No", "No", "No"…
## $ name2 <chr> "ALARCON_BRYAN", "ALLEN_DAVID", "ALLEN_QUINTTON"…
33 Homeless people
Departed %>%
count(homeless)
## # A tibble: 2 x 2
## homeless n
## <chr> <int>
## 1 No 205
## 2 Yes 33
Departed %>%
count(homeless) %>%
ggplot() +
geom_bar(mapping=aes(x= homeless, y= n, fill= n), stat = "identity", show.legend = FALSE) +
coord_flip() +
geom_text(aes(label= n, x= homeless, y= n), hjust=-1, vjust=1) +
scale_y_continuous(limits=c(0, 225)) +
labs(title= "Housing Status for Released Detainees",
subtitle= "Wash. Co. Sheriff Detainee Roster, 3/18 and 3/28/2020",
caption= "Graphic by Michael Adkison",
x= "Housing Status",
y= "Number of released detainees")