library (forcats)
library (dplyr)
library (ggplot2)
rva <- read.csv ("./raw_data/yth_demo_030_linear.csv" )
rva <- rva |>
rename (year = "TIME_PERIOD" ,
age = "OBS_VALUE" )
rva <- rva |>
select (sex, geo, year, age)
rva |>
dplyr:: filter (year == 2021 ) |>
dplyr:: filter (sex == "T" ) |>
dplyr:: filter (geo %in% c ("PT" , "EL" , "IT" , "ES" , "AT" , "FR" ,
"DE" , "NL" , "FI" , "SE" )) |>
mutate (geo = fct_recode (geo,
Portugal = "PT" ,
Greece = "EL" ,
Italy = "IT" ,
Spain = "ES" ,
Austria = "AT" ,
Germany = "DE" ,
France = "FR" ,
Netherlands = "NL" ,
Finland = "FI" ,
Sweden = "SE" ,
)) |>
ggplot (mapping = aes (x = age,
y = reorder (geo, age))) +
geom_vline (xintercept = 26.5 , colour = "#fd484e" , size = 1.2 ) +
geom_col (fill = "#2979b9" , width= 0.5 ) +
geom_text (aes (label = age),
hjust = 0 , nudge_x = 0.1 ,
fontface = "bold" ) +
geom_text (aes (x = 26.5 , y = length (unique (geo))),
label = "Average EU-27: 26.5" ,
hjust = 0.5 , vjust = 1 ,
nudge_y = 1.2 , nudge_x = - 2.05 ) +
labs (title = "Average age of leaving the parental home, 2021" ,
subtitle = "By year of age, selected EU countries" ,
caption = paste0 ("Minimum in the EU: Sweden, " ,
"maximum in the EU: Portugal \n " ,
"Source: Eurostat" )) +
ylab ("" ) + xlab ("" ) +
theme (rect = element_rect (fill = NULL , linetype = 0 , colour = NA ),
text = element_text (size = 12 , family = "sans" ),
plot.margin = unit (c (1 ,1 ,1 ,1 ), "lines" ),
axis.title.x = element_blank (),
axis.title.y = element_blank (),
axis.ticks = element_line (size = 0 ),
axis.text.x = element_blank (),
axis.text.y = element_text (hjust = 0 ),
panel.grid.major.y = element_blank (),
panel.grid.minor.y = element_blank (),
panel.grid.major.x = element_blank (),
panel.grid.minor.x = element_blank (),
panel.background = element_blank (),
plot.title.position = "plot" ,
plot.title = element_text (hjust = 0 , face = "bold" ),
plot.caption.position = "plot" ,
plot.caption = element_text (hjust = 0 )) +
coord_cartesian (clip = 'off' )
ggsave ("2022-08-02--leaving_home.jpg" ,
width = 12 ,
height = 6 ,
bg = "white" ,
dpi = 60 )