ggplot(Texas.Pop.Geriatric, aes(x = age_at_admission, y = years_served, color = age)) +geom_point(alpha =0.2, size =1) +scale_color_gradient(low ="black", high ="blue") +labs(title ="Years Served vs. Age at Admission",subtitle ="Aging Population in Texas Prisons (55+)",x ="Age at Admission",y ="Years Served",color ="Age" )
Warning: Removed 217 rows containing missing values or values outside the scale range
(`geom_point()`).
#Number of emerging adults with 20 year sentencelibrary(tidyverse)library(dplyr)Texas_Pop <- Texas_Pop %>%mutate(admission_date =as.Date(sentence_date, format ="%m/%d/%Y"),admission_year =year(admission_date),current_year =as.numeric(format(Sys.Date(), "%Y")),years_served = current_year - admission_year )LPT <- Texas_Pop %>%filter(years_served >=20) %>%mutate(birth_year =year(Sys.Date()) - age,age_at_admission = admission_year - birth_year )EA.LPT <- LPT %>%filter(age_at_admission <25 )EA.LPT <- EA.LPT %>%mutate(years_served_group =cut(years_served, breaks =seq(20, max(years_served, na.rm =TRUE) +5, by =5), include.lowest =TRUE))EA.LPT.Breakdown <- EA.LPT %>%group_by(years_served_group) %>%summarise(total_count =n())datatable(EA.LPT.Breakdown, caption ="Number of Emerging Adults (Under 25) Serving 20+ Years by Years Served Cohorts")
#Average time served by offense, age group, and race (All LPTS)library(tidyverse)library(lubridate)library(dplyr)library(DT)library(ggplot2)LPT <- LPT %>%mutate(age_group =ifelse(age <=55, "55 and over", "Under 55"),race_group =case_when( race =="B"~"Black", race =="H"~"Hispanic", race =="W"~"White", race %in%c("A", "I", "O") ~"Other",TRUE~"Other" ) )LPT_LOS <- LPT %>%group_by(age_group, race_group) %>%summarise(average_LOS =mean(years_served, na.rm =TRUE), count =n() ) %>%ungroup()
`summarise()` has grouped output by 'age_group'. You can override using the
`.groups` argument.
datatable(LPT_LOS, caption ="LPT by Age, Race and Average Years Served ")
ggplot(LPT_LOS, aes(x = average_LOS, y =interaction(age_group, race_group), fill = average_LOS)) +geom_tile() +labs(title ="Heatmap of Average Time Served (Served 20+)",x ="Aveerage LOS",y ="Age Group and Race",fill ="Average LOS (Years)" ) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(hjust =0.5, size =14, face ="bold") )
`summarise()` has grouped output by 'race_group'. You can override using the
`.groups` argument.
datatable(OffenseLOS, caption ="LPT by Age, Race, LOS by offense cateogory")
ggplot(OffenseLOS, aes(x = offense_category, y = average_LOS, fill = race_group)) +geom_bar(stat ="identity", position ="dodge") +labs(title ="Average Time Served by Offense and Race Group (Served +20)",x ="Offense Category",y ="Average LOS",fill ="Race Group" ) +theme_minimal()
#Average time served by offense, age group, and race (Geriatric (55+) LPTs)LPT.over55 <- LPT %>%mutate(age_group =ifelse(age <=55, "55 and over", "Under 55"),race_group =case_when( race =="B"~"Black", race =="H"~"Hispanic", race =="W"~"White", race %in%c("A", "I", "O") ~"Other",TRUE~"Other" ) )LPT.over55 <- LPT.over55 %>%filter(age_group =="55 and over")LPT_LOS.55<- LPT.over55 %>%group_by(age_group, race_group) %>%summarise(average_LOS =mean(years_served, na.rm =TRUE), count =n() ) %>%ungroup()
`summarise()` has grouped output by 'age_group'. You can override using the
`.groups` argument.
datatable(LPT_LOS, caption ="LPT by Age, Race and Average Years Served (55 Years old)")
ggplot(LPT_LOS.55, aes(x = average_LOS, y =interaction(age_group, race_group), fill = average_LOS)) +geom_tile() +labs(title ="Heatmap of Average Time Served (55 Years Old, Served 20+)",x ="Aveerage LOS",y ="Age Group and Race",fill ="Average LOS (Years)" ) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(hjust =0.5, size =14, face ="bold") )
`summarise()` has grouped output by 'race_group'. You can override using the
`.groups` argument.
datatable(OffenseLOS, caption ="LPT by Age, Race, LOS by offense cateogory (55 years Old)")
ggplot(OffenseLOS.55, aes(x = offense_category, y = average_LOS, fill = race_group)) +geom_bar(stat ="identity", position ="dodge") +labs(title ="Average Time Served by Offense and Race Group (55 Years Old, Served +20)",x ="Offense Category",y ="Average LOS",fill ="Race Group" ) +theme_minimal()