-
Notifications
You must be signed in to change notification settings - Fork 18
/
france_codes.R
60 lines (55 loc) · 2.18 KB
/
france_codes.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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
france_level_1_codes <- tibble::tibble(
iso_code = c(
"FR-ARA", "FR-BFC", "FR-BRE", "FR-CVL", "FR-20R", "FR-GES", "FR-GP",
"FR-GF", "FR-HDF", "FR-IDF", "FR-RE", "FR-MQ", "FR-YT", "FR-NOR",
"FR-NAQ", "FR-OCC", "FR-PDL", "FR-PAC", "FR-PM", "FR-BL", "FR-MF"
),
insee_code = c(
"84", "27", "53", "24", "94", "44", "01", "03", "32", "11", "04", "02",
"06", "28", "75", "76", "52", "93", "05", "07", "08"
),
level_1_region = c(
"Auvergne-Rhone-Alpes", "Bourgogne-Franche-Comte", "Bretagne",
"Centre-Val de Loire", "Corse", "Grand-Est", "Guadeloupe",
"Guyane (francaise)", "Hauts-de-France", "Ile-de-France",
"La Reunion", "Martinique", "Mayotte", "Normandie", "Nouvelle-Aquitaine",
"Occitanie", "Pays-de-la-Loire", "Provence-Alpes-Cote-d'Azur",
"Saint-Barthelemy", "Saint-Martin", "Saint-Pierre et Miquelon"
)
)
# Get region names and codes
france_level_2_codes_url <- "https://en.wikipedia.org/wiki/ISO_3166-2:FR"
france_level_2_codes_table <- france_level_2_codes_url %>%
xml2::read_html() %>%
rvest::html_nodes(xpath = '//*[@id="mw-content-text"]/div/table') %>%
rvest::html_table(fill = TRUE)
france_missing_level_2_codes <- tibble::tibble(
level_1_region_code = c("FR-PM", "FR-BL", "FR-MF"),
level_2_region_code = c("FR-977", "FR-978", "FR-975"),
level_1_region = c(
"Saint-Barthelemy", "Saint-Martin",
"Saint-Pierre et Miquelon"
),
level_2_region = level_1_region
)
france_level_2_codes <- france_level_2_codes_table[[2]] %>%
dplyr::select(
level_2_region_code = Code,
level_2_region = `Subdivision name`,
level_1_region_code = `In region(since 2016)`
) %>%
dplyr::mutate(level_1_region_code = paste0("FR-", level_1_region_code)) %>%
dplyr::left_join(france_level_2_codes_table[[1]], by = c(
"level_1_region_code" = "Code"
)) %>%
dplyr::rename(level_1_region = `Subdivision name (fr)`) %>%
dplyr::select(-`Subdivision category`) %>%
dplyr::bind_rows(france_missing_level_2_codes)
france_codes <- left_join(
france_level_2_codes,
france_level_1_codes %>%
select(-level_1_region),
by = c("level_1_region_code" = "iso_code")
)
# update package region_codes
usethis::use_data(france_codes, overwrite = TRUE)