Introduction
- This presentation explores population change across Australian
regions.
- Focus areas:
- Births, deaths, migration, and overall population change.
- Regional patterns in natural increase and migration.
- Data Source: ABS Regional Population dataset.
- Australian Bureau of Statistics. (2024). Regional population
(Catalogue No. 3218.0). Australian Bureau of Statistics. https://www.abs.gov.au/statistics/people/population/regional-population/latest-release
library(dplyr)
library(tidyr)
library(revealjs)
library(ggplot2)
library(plotly)
library(readxl)
df <- readxl::read_excel("C:/Users/Lenovo/Downloads/ABS,ERP_COMP_LGA2024,1.2,filtered,2025-06-10 20-47-09.xlsx",skip = 5)
head(df)
## # A tibble: 6 × 13
## `Population Component...1` Population Component.…¹ `Births PSNS` `Deaths PSNS`
## <chr> <lgl> <dbl> <dbl>
## 1 Region NA NA NA
## 2 Australia NA NA NA
## 3 · New South Wales NA NA NA
## 4 · · Albury NA 734 485
## 5 · · Armidale NA 335 256
## 6 · · Ballina NA 400 548
## # ℹ abbreviated name: ¹`Population Component...2`
## # ℹ 9 more variables: `Natural Increase PSNS` <dbl>,
## # `Internal Arrivals PSNS` <dbl>, `Internal Departures PSNS` <dbl>,
## # `Net Internal Migration PSNS` <dbl>, `Overseas Arrivals PSNS` <dbl>,
## # `Overseas Departures PSNS` <dbl>, `Net Overseas Migration PSNS` <dbl>,
## # `Estimated Resident Population PSNS` <dbl>, ...13 <chr>
## [1] "Population Component...1" "Births PSNS"
## [3] "Deaths PSNS" "Natural Increase PSNS"
## [5] "Internal Arrivals PSNS" "Internal Departures PSNS"
## [7] "Net Internal Migration PSNS" "Overseas Arrivals PSNS"
## [9] "Overseas Departures PSNS" "Net Overseas Migration PSNS"
## [11] "Estimated Resident Population PSNS" "...13"
## Population Component...1 Births PSNS Deaths PSNS
## Length:560 Min. : 0.0 Min. : 0.0
## Class :character 1st Qu.: 34.5 1st Qu.: 24.5
## Mode :character Median : 128.0 Median : 119.0
## Mean : 528.4 Mean : 333.9
## 3rd Qu.: 501.5 3rd Qu.: 398.0
## Max. :12480.0 Max. :7298.0
## NA's :13 NA's :13
## Natural Increase PSNS Internal Arrivals PSNS Internal Departures PSNS
## Min. :-484.0 Min. : 0 Min. : 0.0
## 1st Qu.: -4.5 1st Qu.: 170 1st Qu.: 168.5
## Median : 14.0 Median : 810 Median : 812.0
## Mean : 194.5 Mean : 2940 Mean : 2939.6
## 3rd Qu.: 112.5 3rd Qu.: 3304 3rd Qu.: 3369.5
## Max. :5182.0 Max. :61726 Max. :66176.0
## NA's :13 NA's :13 NA's :13
## Net Internal Migration PSNS Overseas Arrivals PSNS Overseas Departures PSNS
## Min. :-8009.0 Min. : 0.0 Min. : 0.0
## 1st Qu.: -58.0 1st Qu.: 15.0 1st Qu.: 5.0
## Median : -1.0 Median : 84.0 Median : 31.0
## Mean : 0.0 Mean : 1209.8 Mean : 414.2
## 3rd Qu.: 91.5 3rd Qu.: 658.5 3rd Qu.: 219.0
## Max. : 8310.0 Max. :53167.0 Max. :21740.0
## NA's :13 NA's :13 NA's :13
## Net Overseas Migration PSNS Estimated Resident Population PSNS
## Min. : -3.0 Min. : 102
## 1st Qu.: 10.0 1st Qu.: 2922
## Median : 56.0 Median : 13158
## Mean : 795.6 Mean : 49716
## 3rd Qu.: 437.5 3rd Qu.: 48215
## Max. :31427.0 Max. :1355640
## NA's :13 NA's :13
## ...13
## Length:560
## Class :character
## Mode :character
##
##
##
##
df <- df[ , -ncol(df)]
df <- df %>%
rename(
region = "Population Component...1",
births = "Births PSNS",
deaths = "Deaths PSNS" ,
natural_increase = "Natural Increase PSNS" ,
internal_arrivals = "Internal Arrivals PSNS" ,
internal_departures = "Internal Departures PSNS" ,
net_internal_migration = "Net Internal Migration PSNS",
overseas_arrivals = "Overseas Arrivals PSNS",
overseas_departures = "Overseas Departures PSNS" ,
net_overseas_migration = "Net Overseas Migration PSNS" ,
estimated_population = "Estimated Resident Population PSNS"
)
colSums(is.na(df))
## region births deaths
## 1 13 13
## natural_increase internal_arrivals internal_departures
## 13 13 13
## net_internal_migration overseas_arrivals overseas_departures
## 13 13 13
## net_overseas_migration estimated_population
## 13 13
df <- df %>%
filter(!is.na(estimated_population))