Adds a statcode
column to the dataset, so it can be more easily joined with
a map retrieved with cbs_get_sf()
.
cbs_add_statcode_column(x, ...)
data.frame
retrieved using cbs_get_data()
future use.
original dataset with added statcode
column.
Regional data uses the x$RegioS
dimension for data. The "codes" for each region
are also used in the cartographic map boundaries of regions as used in cbs_get_sf()
.
Unfortunately the codes in x$RegioS
can have trailing spaces, and the variable
used in the mapping material is named statcode
. This method simply adds
a statcode
column with trimmed codes from RegioS
, making it more easy to
connect a dataset to a cartographic map.
Other cartographic map:
cbs_get_maps()
,
cbs_get_sf()
,
cbs_join_sf_with_data()
if (interactive()){
# retrieve maps
cbs_maps <- cbs_get_maps()
cbs_maps |> head(4)
gemeente_map <- cbs_get_sf("gemeente", 2023, verbose=TRUE)
# sf object
gemeente_map
# plot the statcodes (included in the map)
plot(gemeente_map, max.plot = 1)
# now connect with some data
labor <- cbs_get_data("85268NED"
, Perioden = "2022JJ00" # only 2022
, RegioS = has_substring("PV") # only province
, verbose = TRUE
)
# most conveniently
provincie_2022_with_data <- cbs_join_sf_with_data("provincie", 2022, labor)
# better plotting options are ggplot2 or tmap,
# but keeping dependencies low...
provincie_2022_with_data |>
subset(select = Werkloosheidspercentage_13) |>
plot( border ="#FFFFFF99", main="unemployment rate")
## but of course this can also be done by hand:
labor <- labor |>
cbs_add_statcode_column() # add column to connect with map
provincie_2022 <- cbs_get_sf("provincie", 2022)
# this is a left_join(provincie_2022, labor, by = "statcode")
provincie_2022_data <-
within(provincie_2022, {
unemployment_rate <- labor$Werkloosheidspercentage_13[match(statcode, labor$statcode)]
})
# better plotting options are ggplot2 or tmap,
# but keeping dependencies low...
plot( provincie_2022_data[,c("unemployment_rate")]
, border ="#FFFFFF99"
, nbreaks = 12
)
}