- The cost-of-living crisis is impacting many Australians.
- This presentation explores trends in consumer prices and wage growth.
- Key questions:
- How have costs changed over time?
- Are wages keeping up with inflation?
2025-06-12
library(readxl)
library(dplyr)
library(tidyr)
library(ggplot2)
library(lubridate)
# Load CPI data
cpi_raw <- read_excel("Downloads/cpi_data.xlsx", sheet = "Data1", skip = 10)
cpi_long <- cpi_raw %>%
pivot_longer(cols = -1, names_to = "Series", values_to = "Value") %>%
rename(Date = 1) %>%
filter(!is.na(Value)) %>%
mutate(Date = as.Date(Date))
# Select housing and food series manually by known Series IDs or labels (simplified here)
# Example only: update Series IDs according to actual dataset if needed
cpi_filtered <- cpi_long %>%
filter(Series %in% c("3.7", "3.8", "3.9", "3.4", "3.5", "3.6")) %>%
mutate(Series = recode(Series,
"3.7" = "Rent",
"3.8" = "Dwelling Purchase",
"3.9" = "Electricity",
"3.4" = "Food Total",
"3.5" = "Meat",
"3.6" = "Dairy"))
# Load WPI data
wpi_raw <- read_excel("Downloads/wpi_data.xlsx", sheet = "Data1", skip = 10)
wpi_long <- wpi_raw %>%
pivot_longer(cols = -1, names_to = "Series", values_to = "WPI") %>%
rename(Date = 1) %>%
filter(!is.na(WPI)) %>%
mutate(Date = as.Date(Date))
# Keep one WPI series for simplicity
wpi_single <- wpi_long %>% group_by(Date) %>% summarise(WPI = mean(WPI, na.rm = TRUE))
all_cpi <- cpi_filtered %>% filter(Series == "Food Total") ggplot(cpi_filtered, aes(x = Date, y = Value)) + geom_line(color = "blue") + labs(title = "CPI Trend: All Groups", x = "Date", y = "Index") + theme_minimal()
housing_cpi <- cpi_filtered %>%
filter(Series %in% c("Rent", "Dwelling Purchase", "Electricity"))
ggplot(housing_cpi, aes(x = Date, y = Value, color = Series)) +
geom_line(size = 1) +
labs(title = "Housing CPI Components", x = "Date", y = "Index") +
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.
# Plot CPI Trend using only available data (e.g., Food Total or All Groups) ggplot(cpi_filtered, aes(x = Date, y = Value)) + geom_line(color = "blue") + labs(title = "CPI Trend: Food Category", x = "Date", y = "Index") + theme_minimal()
ggplot(wpi_single, aes(x = Date, y = WPI)) + geom_line(color = "darkgreen") + labs(title = "Wage Price Index (Average of All Series)", x = "Date", y = "WPI Index") + theme_minimal()