This storyboard explores patterns in victim reports across Victoria between 2015 and 2024. It draws attention to demographic trends and overall shifts in crime reporting using open-source data from the Crime Statistics Agency Victoria.
This visual tracks the average victimisation rate (per 100,000 population) by gender over time. It helps identify whether crime reporting or victimisation is increasing or decreasing for males and females.
df_rate <- df %>%
group_by(Year, Sex) %>%
summarise(Rate = mean(`Rate per 100,000 population`, na.rm = TRUE))
## `summarise()` has grouped output by 'Year'. You can override using the
## `.groups` argument.
ggplot(df_rate, aes(x = Year, y = Rate, color = Sex)) +
geom_line(size = 1.2) +
labs(title = "Victimisation Rate Over Time",
y = "Rate per 100,000",
x = "Year") +
theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: Removed 10 rows containing missing values or values outside the scale range
## (`geom_line()`).
This bar chart shows the total number of victim reports each year across the population. It provides a broad overview of trends in crime victimisation over the past decade.
df_total <- df %>%
filter(Sex == "People") %>%
group_by(Year) %>%
summarise(Reports = sum(`Victim Reports`, na.rm = TRUE))
ggplot(df_total, aes(x = Year, y = Reports)) +
geom_col(fill = "steelblue") +
labs(title = "Total Victim Reports by Year",
y = "Number of Reports",
x = "Year") +
theme_minimal()
This heatmap visualises victimisation rates across different age groups over time. Darker shades indicate higher rates. This can help identify the most at-risk age groups in recent years.
heat_data <- df %>% filter(Sex == "People")
ggplot(heat_data, aes(x = factor(Year), y = `Age Group`, fill = `Rate per 100,000 population`)) +
geom_tile(color = "white") +
scale_fill_viridis_c(option = "C") +
labs(title = "Victimisation Rate by Age Group and Year",
x = "Year",
y = "Age Group") +
theme_minimal()
This grouped bar chart compares the victimisation rate by age group for males and females in 2024. It highlights differences in risk across genders and age segments.
df_2024 <- df %>%
filter(Year == 2024, Sex %in% c("Females", "Males"))
ggplot(df_2024, aes(x = `Age Group`, y = `Rate per 100,000 population`, fill = Sex)) +
geom_col(position = "dodge") +
labs(title = "2024 Victimisation Rate by Age and Sex",
y = "Rate per 100,000",
x = "Age Group") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))