From f79586daf9bae5f40236ff379f57fc6a44d9ad32 Mon Sep 17 00:00:00 2001 From: jennajt Date: Wed, 21 Jan 2026 15:50:28 +0000 Subject: [PATCH 1/5] Added manually downloaded csv to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 3ff6bd2..a875f27 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ .Ruserdata archive/ docs +data-raw/welsh-index-of-multiple-deprivation-wimd-2025-local-authority-deprivation-profiles-v4.csv From e5b6a63642df22636f15a54ed2503d186d6593ad Mon Sep 17 00:00:00 2001 From: jennajt Date: Wed, 21 Jan 2026 15:54:04 +0000 Subject: [PATCH 2/5] WIMD LTLA data added --- R/data.R | 21 +++++++++++++++++++++ data-raw/imd2025_wales_ltla24.R | 24 ++++++++++++++++++++++++ data/imd2025_wales_ltla24.rda | Bin 0 -> 4964 bytes man/imd2025_wales_ltla24.Rd | 31 +++++++++++++++++++++++++++++++ 4 files changed, 76 insertions(+) create mode 100644 data-raw/imd2025_wales_ltla24.R create mode 100644 data/imd2025_wales_ltla24.rda create mode 100644 man/imd2025_wales_ltla24.Rd diff --git a/R/data.R b/R/data.R index 9d73373..9743dc5 100644 --- a/R/data.R +++ b/R/data.R @@ -484,6 +484,27 @@ NULL #' @source \url{https://www.gov.wales/welsh-index-multiple-deprivation-2025} "imd2025_wales_lsoa21" +#' Index of Multiple Deprivation for LTLAs (2024) in Wales +#' +#' A data set containing deprivation groups for Lower Tier Local Authorities (LTLAs) in Wales. +#' The WIMD is calculated at LSOA level. To compare larger geographies, consider the proportion of small +#' area in a larger geography which are in the most deprived (say) 10 percent of areas in Wales.This table +#' provides numbers and percentages of LSOAs within a given local authority which are in these categories of deprivation: +#' 10percent, 20percent, 30percent, 50percent most deprived overall and for each of the 8 domains. +#' +#' +#' @format A data frame of class "tbl" +#' \describe{ +#' \item{ltla24_code}{LTLA code} +#' \item{domain}{Domain} +#' \item{deprivation_group}{Deprivation group} +#' \item{data_description}{Data unit - number or percentage} +#' \item{data_values}{Value} +#' ... +#' } +#' @source \url{https://stats.gov.wales/en-GB/f30cc8bc-8e97-449e-96a4-77b0400262d1#about} +"imd2025_wales_ltla24" + #' Index of Multiple Deprivation for LSOAs (2011) in England #' #' A data set containing IMD scores and deciles for Lower Layer Super diff --git a/data-raw/imd2025_wales_ltla24.R b/data-raw/imd2025_wales_ltla24.R new file mode 100644 index 0000000..206f10f --- /dev/null +++ b/data-raw/imd2025_wales_ltla24.R @@ -0,0 +1,24 @@ +library(tidyverse) + +# Load package +devtools::load_all(".") + +# Read file +# No stable link for file, dataset not in StatsWales API +# URL: https://stats.gov.wales/en-GB/f30cc8bc-8e97-449e-96a4-77b0400262d1#downloads +# Manually download the file +# Filename: Welsh Index of Multiple Deprivation 2025 local authority deprivation profiles + +raw <- read_csv("data-raw/welsh-index-of-multiple-deprivation-wimd-2025-local-authority-deprivation-profiles-v4.csv") + +imd2025_wales_ltla24 <- raw |> + select( + ltla24_code = `Area code`, + domain = Domain, + deprivation_group = `Deprivation group`, + data_description = `Data description`, + data_values = `Data values` + ) + +# Save output to data/ folder +usethis::use_data(imd2025_wales_ltla24, overwrite = TRUE) diff --git a/data/imd2025_wales_ltla24.rda b/data/imd2025_wales_ltla24.rda new file mode 100644 index 0000000000000000000000000000000000000000..20036689f7f5c4cee2fd9d89174ed4e55ccd2de6 GIT binary patch literal 4964 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 literal 0 HcmV?d00001 diff --git a/man/imd2025_wales_ltla24.Rd b/man/imd2025_wales_ltla24.Rd new file mode 100644 index 0000000..da92631 --- /dev/null +++ b/man/imd2025_wales_ltla24.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/data.R +\docType{data} +\name{imd2025_wales_ltla24} +\alias{imd2025_wales_ltla24} +\title{Index of Multiple Deprivation for LTLAs (2024) in Wales} +\format{ +A data frame of class "tbl" +\describe{ + \item{ltla24_code}{LTLA code} + \item{domain}{Domain} + \item{deprivation_group}{Deprivation group} + \item{data_description}{Data unit - number or percentage} + \item{data_values}{Value} + ... +} +} +\source{ +\url{https://stats.gov.wales/en-GB/f30cc8bc-8e97-449e-96a4-77b0400262d1#about} +} +\usage{ +imd2025_wales_ltla24 +} +\description{ +A data set containing deprivation groups for Lower Tier Local Authorities (LTLAs) in Wales. +The WIMD is calculated at LSOA level. To compare larger geographies, consider the proportion of small +area in a larger geography which are in the most deprived (say) 10 percent of areas in Wales.This table +provides numbers and percentages of LSOAs within a given local authority which are in these categories of deprivation: +10percent, 20percent, 30percent, 50percent most deprived overall and for each of the 8 domains. +} +\keyword{datasets} From bc8ee425e3c97d01471def6efae72e7ce28e7e4f Mon Sep 17 00:00:00 2001 From: jennajt Date: Wed, 21 Jan 2026 15:59:12 +0000 Subject: [PATCH 3/5] Added MSOA csv to gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a875f27..5cb275e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,4 @@ archive/ docs data-raw/welsh-index-of-multiple-deprivation-wimd-2025-local-authority-deprivation-profiles-v4.csv - +data-raw/welsh-index-of-multiple-deprivation-wimd-2025-middle-layer-super-output-area-msoa-deprivation-profiles-v4.csv From caa8eaa97f1a227781db8343ff14909d10bade69 Mon Sep 17 00:00:00 2001 From: jennajt Date: Wed, 21 Jan 2026 16:12:08 +0000 Subject: [PATCH 4/5] WIMD MSOA data added --- R/data.R | 26 ++++++++++++++++++++++++-- data-raw/imd2025_wales_msoa21.R | 24 ++++++++++++++++++++++++ data/imd2025_wales_msoa21.rda | Bin 0 -> 13216 bytes man/imd2025_wales_lsoa21.Rd | 2 +- man/imd2025_wales_ltla24.Rd | 2 +- man/imd2025_wales_msoa21.Rd | 31 +++++++++++++++++++++++++++++++ 6 files changed, 81 insertions(+), 4 deletions(-) create mode 100644 data-raw/imd2025_wales_msoa21.R create mode 100644 data/imd2025_wales_msoa21.rda create mode 100644 man/imd2025_wales_msoa21.Rd diff --git a/R/data.R b/R/data.R index 9743dc5..bed4464 100644 --- a/R/data.R +++ b/R/data.R @@ -472,7 +472,7 @@ NULL #' \item{Housing_score}{Housing domain score} #' \item{Crime_score}{Community safety domain score} #' \item{Environment_score}{Physical environment domain score} -#' \item{Category_of_deeprooted_deprivation}{ +#' \item{category_of_deeprooted_deprivation}{ #' Four categories of deep-rooted deprivation: #' \cr 1. LSOAs in deep rooted deprivation: These LSOAs have remained in the top 50 most deprvied for the last 6 publications of WIMD ranks. #' \cr 2. LSOAs often ranked in top 50 most deprived: These LSOAs have been in the top 50 most deprived for between 3 and 5 of the last 6 publications of WIMD ranks. @@ -484,7 +484,7 @@ NULL #' @source \url{https://www.gov.wales/welsh-index-multiple-deprivation-2025} "imd2025_wales_lsoa21" -#' Index of Multiple Deprivation for LTLAs (2024) in Wales +#' Index of Multiple Deprivation for LTLAs (2025) in Wales #' #' A data set containing deprivation groups for Lower Tier Local Authorities (LTLAs) in Wales. #' The WIMD is calculated at LSOA level. To compare larger geographies, consider the proportion of small @@ -505,6 +505,28 @@ NULL #' @source \url{https://stats.gov.wales/en-GB/f30cc8bc-8e97-449e-96a4-77b0400262d1#about} "imd2025_wales_ltla24" + +#' Index of Multiple Deprivation for MSOAs (2025) in Wales +#' +#' A data set containing deprivation groups for Middle Super Output Areas (MSOA) in Wales. +#' The WIMD is calculated at LSOA level. To compare larger geographies, consider the proportion of small +#' area in a larger geography which are in the most deprived (say) 10 percent of areas in Wales.This table +#' provides numbers and percentages of LSOAs within a given local authority which are in these categories of deprivation: +#' 10percent, 20percent, 30percent, 50percent most deprived overall and for each of the 8 domains. +#' +#' +#' @format A data frame of class "tbl" +#' \describe{ +#' \item{msoa21_code}{MSOA code} +#' \item{domain}{Domain} +#' \item{deprivation_group}{Deprivation group} +#' \item{data_description}{Data unit - number or percentage} +#' \item{data_values}{Value} +#' ... +#' } +#' @source \url{https://stats.gov.wales/en-GB/f30cc8bc-8e97-449e-96a4-77b0400262d1#about} +"imd2025_wales_msoa21" + #' Index of Multiple Deprivation for LSOAs (2011) in England #' #' A data set containing IMD scores and deciles for Lower Layer Super diff --git a/data-raw/imd2025_wales_msoa21.R b/data-raw/imd2025_wales_msoa21.R new file mode 100644 index 0000000..27f6b9e --- /dev/null +++ b/data-raw/imd2025_wales_msoa21.R @@ -0,0 +1,24 @@ +library(tidyverse) + +# Load package +devtools::load_all(".") + +# Read file +# No stable link for file, dataset not in StatsWales API +# URL: https://stats.gov.wales/en-GB/d22b81a1-6c99-4527-986b-2a529567cfba +# Manually download the file +# Filename: Welsh Index of Multiple Deprivation 2025 lmiddle layer super output area deprivation profiles + +raw <- read_csv("data-raw/welsh-index-of-multiple-deprivation-wimd-2025-middle-layer-super-output-area-msoa-deprivation-profiles-v4.csv") + +imd2025_wales_msoa21 <- raw |> + select( + msoa21_code = `Area code`, + domain = Domain, + deprivation_group = `Deprivation group`, + data_description = `Data description`, + data_values = `Data values` + ) + +# Save output to data/ folder +usethis::use_data(imd2025_wales_msoa21, overwrite = TRUE) diff --git a/data/imd2025_wales_msoa21.rda b/data/imd2025_wales_msoa21.rda new file mode 100644 index 0000000000000000000000000000000000000000..186295e5379038df2ba4247f84d3e17f77b5fd68 GIT binary patch literal 13216 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 Date: Thu, 22 Jan 2026 15:29:22 +0000 Subject: [PATCH 5/5] Updated script to get data from API --- R/sysdata.rda | Bin 4504 -> 4668 bytes data-raw/imd2025_wales_ltla24.R | 20 ++++++++++++++------ data-raw/imd2025_wales_msoa21.R | 20 ++++++++++++++------ data-raw/query_urls.R | 2 ++ 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/R/sysdata.rda b/R/sysdata.rda index 9386158452407ccc98c1b96db97a4c61b52c914c..e32d2d850fc8aca269cfe174e5b9986fb49741b2 100644 GIT binary patch literal 4668 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 literal 4504 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 + filter(data_set == "imd2025_ltla24_wales") |> + pull(query_url) + +response <- request(query_url) |> + req_perform() + +csv_text <- resp_body_string(response) + +raw <- read_csv(csv_text) imd2025_wales_ltla24 <- raw |> select( diff --git a/data-raw/imd2025_wales_msoa21.R b/data-raw/imd2025_wales_msoa21.R index 27f6b9e..5b3f4c1 100644 --- a/data-raw/imd2025_wales_msoa21.R +++ b/data-raw/imd2025_wales_msoa21.R @@ -1,15 +1,23 @@ +library(httr2) library(tidyverse) # Load package devtools::load_all(".") -# Read file -# No stable link for file, dataset not in StatsWales API -# URL: https://stats.gov.wales/en-GB/d22b81a1-6c99-4527-986b-2a529567cfba -# Manually download the file -# Filename: Welsh Index of Multiple Deprivation 2025 lmiddle layer super output area deprivation profiles +# Query URL constructed using https://api.stats.gov.wales/v1/docs/#/ +# Dataset ID taken from URL link https://stats.gov.wales/en-GB/d22b81a1-6c99-4527-986b-2a529567cfba -raw <- read_csv("data-raw/welsh-index-of-multiple-deprivation-wimd-2025-middle-layer-super-output-area-msoa-deprivation-profiles-v4.csv") +query_url <- + query_urls |> + filter(data_set == "imd2025_msoa21_wales") |> + pull(query_url) + +response <- request(query_url) |> + req_perform() + +csv_text <- resp_body_string(response) + +raw <- read_csv(csv_text) imd2025_wales_msoa21 <- raw |> select( diff --git a/data-raw/query_urls.R b/data-raw/query_urls.R index 15860d8..bdc9e6c 100644 --- a/data-raw/query_urls.R +++ b/data-raw/query_urls.R @@ -21,6 +21,8 @@ query_urls <- "imd2025_lsoa21_wales_ranks" , "imd" , "LSOA-level deprivation in Wales, ranks" , "https://www.gov.wales/sites/default/files/statistics-and-research/2025-11/wimd-2025-index-and-domain-ranks-by-small-area.ods" , "https://www.gov.wales/welsh-index-multiple-deprivation-2025" , "imd2025_lsoa21_wales_scores" , "imd" , "LSOA-level deprivation in Wales, scores" , "https://www.gov.wales/sites/default/files/statistics-and-research/2025-12/wimd-2025-index-and-domain-scores-by-small-area.ods" , "https://www.gov.wales/welsh-index-multiple-deprivation-2025" , "imd2025_lsoa21_wales_deeprooteddep" , "imd" , "LSOA-level deprivation in Wales, deep rooted deprivation" , "https://www.gov.wales/sites/default/files/statistics-and-research/2025-11/welsh-index-of-multiple-deprivation-wimd-2025-data-underlying-deep-dooted-deprivation-analysis.ods" , "https://www.gov.wales/welsh-index-multiple-deprivation-2025" , + "imd2025_msoa21_wales" , "imd" , "MSOA-level deprivation in Wales, categories" , "https://api.stats.gov.wales/v1/d22b81a1-6c99-4527-986b-2a529567cfba/download/csv" , "https://stats.gov.wales/en-GB/d22b81a1-6c99-4527-986b-2a529567cfba" , + "imd2025_ltla24_wales" , "imd" , "LTLA-level deprivation in Wales, categories" , "https://api.stats.gov.wales/v1/f30cc8bc-8e97-449e-96a4-77b0400262d1/download/csv" , "https://stats.gov.wales/en-GB/d22b81a1-6c99-4527-986b-2a529567cfba" , "imd_lsoa_wales" , "imd" , "LSOA-level deprivation in Wales" , "https://www.gov.wales/sites/default/files/statistics-and-research/2022-02/welsh-index-multiple-deprivation-2019-index-and-domain-ranks-by-small-area.ods" , "https://gov.wales/welsh-index-multiple-deprivation-full-index-update-ranks-2019" , "imd_lsoa_wales_scores" , "imd" , "LSOA-level deprivation scores in Wales" , "https://www.gov.wales/sites/default/files/statistics-and-research/2022-02/wimd-2019-index-and-domain-scores-by-small-area.ods" , "https://gov.wales/welsh-index-multiple-deprivation-full-index-update-ranks-2019" ,