![]() |
Klikk for å se større. |
Kartene over her viser hvordan bruken av bil har endret seg i Europa i løpet av tiårsperioden fra 2007 til 2017. I en god del land i Nordvest-Europa har bilbruken faktisk gått ned, relativt sett, mens bilbruken skal ha økt i Norge. Bilbruken ser ut til å ha økt i både Sør-Europa og Øst-Europa, men at Tyrkia skiller seg kraftig ut.
Kartene er basert på hvor stor andel av alle de kilometrene som passasjerer reiser i løpet av et år som er med bil. Dette kan illustreres med disse (hypotetiske) regnestykkene:
I 2007 var det ti personer som til sammen reiste 72 000 km (såpass blir det hvis alle ti pendler 15 km hver vei fem ganger i uka 48 uker i året). 59 000 av de kilometrene var med bil. Altså er bilandelen av passasjerkilometrene 82 prosent (59 000 / 72 000).
På kartene under her kan du se de prosenttallene for 2007 og 2017.
![]() |
Klikk for å se større |
Kartene er laget i R, og her er syntaksen. Fine i denne anledning er at du trenger ikke noen lokale filer for å lage disse kartene. Du laster ned både statistikk og geodata i selve skriptet!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(tidyverse) | |
library(eurostat) | |
library(tmap) | |
library(sf) | |
# Import spatial units from Eurostat | |
map <- eurostat_geodata_60_2016 | |
# Get a tidy selection of subnational units, that does not | |
# include far off islands in the Atlantic ocean etc, then dissolve it | |
map_1 <- map %>% | |
filter(LEVL_CODE == 1) %>% | |
filter(geo != "PT2" & geo != "PT3" & geo != "ES7" & geo != "FRY") %>% | |
st_union() | |
# Select on the country-level spatial units | |
map_country1 <- map %>% | |
filter(LEVL_CODE == 0) %>% | |
select(-id, -FID, -NUTS_ID) # Remove redundant columns | |
# Remove the far-off Atlantic ocean areas from the final country-level map | |
map_country <- st_intersection(map_country1, map_1) | |
# Double-check that everything looks in order. | |
tm_shape(map_country) + | |
tm_polygons() | |
# Get som transport data. Following this tutorial: https://ropengov.github.io/eurostat/articles/eurostat_tutorial.html | |
id <- search_eurostat("Modal split of passenger transport", | |
type = "table")$code[1] | |
dat <- get_eurostat(id, time_format = "num") | |
data01 <- dat %>% | |
filter(time == 2017 | time == 2007) %>% | |
filter(vehicle == "CAR") %>% | |
select(geo, time, values) | |
# Back to following my own accumulated amount of R knowledge from now on. | |
data_wide <- spread(data01, time, values) | |
# Rename a couple of columns and estimate a couple of new variables | |
data <- data_wide %>% | |
rename(car_07 = '2007', | |
car_17 = '2017') %>% | |
mutate(cardif_07_17 = car_17 - car_07, # Get the change from 2007 to 2017 in percentage points. | |
cardif_07_17_perc = cardif_07_17 / car_07 * 100) # Get the percentage change | |
# Join statistics and the spatial units | |
mapstat <- left_join(map_country, data, by = "geo") | |
# Make some maps | |
car_07 <- tm_shape(mapstat) + | |
tm_polygons(col = "car_07") | |
car_17 <- tm_shape(mapstat) + | |
tm_polygons(col = "car_17") | |
car_abs <- tm_shape(mapstat) + | |
tm_polygons(col = "cardif_07_17") | |
car_rel <- tm_shape(mapstat) + | |
tm_polygons(col = "cardif_07_17_perc") | |
# Pretty much a copy + paste from Roger Bivand's spatial data visualisation lecture in the PhD course Spatial Data Analysis | |
# (https://rsbivand.github.io/ECS530_h19/ECS530_IV.html) | |
maps <- tm_shape(mapstat) + | |
tm_facets(free.scales = FALSE) + | |
tm_borders(lwd =0.5, alpha = 0.4) + | |
tm_layout(panel.labels = c("Car share of km per passenger 2007", "Car share of km per passenger 2017", | |
"Percentage point change in car share 07-17", "Percentage change in car share 07-17")) | |
maps_change01 <- tm_shape(mapstat) + | |
tm_facets(free.scales = FALSE) + | |
tm_borders(lwd =0.5, alpha = 0.4) + | |
tm_layout(panel.labels = c("Percentage point change in car share 07-17", "Percentage change in car share 07-17")) | |
maps_status <- maps + tm_fill(c("car_07", "car_17"), n=6, style="pretty", title="Car share of all kilometres \n travelled per passenger") | |
maps_change <- maps_change01 + tm_fill(c("cardif_07_17", "cardif_07_17_perc"), n=6, style="pretty", title = "Change in car share of total \n kilometres travelled per passenger") | |
# To see the final product. | |
maps_change |