-
Notifications
You must be signed in to change notification settings - Fork 14
/
prep asylum stats.r
42 lines (33 loc) · 1.56 KB
/
prep asylum stats.r
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
##
## Prep data on people seeking asylum who receive Section 95 support
##
## Using Home Office stats: https://www.gov.uk/government/statistical-data-sets/asylum-and-resettlement-datasets
## - December 2020
##
library(tidyverse)
library(readxl)
library(lubridate)
library(httr)
library(Hmisc)
source("functions.r")
##
## load and process displacement data
##
# download the latest stats on Section 95 support by local authority
# note: you'll need to manually update this URL whenever the Home Office releases new statistics
GET("https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/962022/section-95-support-local-authority-datasets-dec-2020.xlsx",
write_disk(tf <- tempfile(fileext = ".xlsx")))
asylum_raw = read_excel(tf, sheet = "Data - Asy_D11") # check the sheet name is still valid if you're updating the URL above
unlink(tf); rm(tf)
# convert date column
asylum = asylum_raw %>%
mutate(Date = as.Date(`Date (as at…)`, format = "%d %b %Y"))
# get rid of rows with totals and keep only LADs with refugees
asylum = asylum %>%
filter(Date == max(asylum$Date, na.rm = TRUE)) %>%
select(LAD19CD = `LAD Code`, Support = `Support sub-type`, People) %>%
pivot_wider(names_from = Support, values_from = People, values_fn = list(People = sum), values_fill = list(People = 0)) %>%
mutate(`People receiving Section 95 support` = `Dispersed Accommodation` + `Subsistence Only`) %>%
mutate(Sec95_q = as.integer(cut2(`People receiving Section 95 support`, g = 5)))
write_csv(asylum, "output/asylum-LA.csv")
rm(asylum_raw)