Code
library(tidyverse)
library(knitr)
Information on ESS data sources used – see also section “ESS party data structure” in manuscript.
library(tidyverse)
library(knitr)
ESS data sets from europeansocialsurvey.org/data
DOI references
Data files are imported into R with readstata13
tibble(ESS_file = fs::dir_ls("data-raw/", glob = "*ESS*.dta")) |>
mutate(
Round = str_extract(ESS_file, "\\d+") |> as.integer(),
hash = rlang::hash_file(ESS_file),
ESS_file = str_remove(ESS_file, "data-raw/")
|>
) relocate(Round, .before = ESS_file) |>
arrange(Round) |>
kable()
Round | ESS_file | hash |
---|---|---|
1 | ESS1e06_6.dta | c61f508eb0f5b60e038be2d5793a9f4d |
2 | ESS2e03_6.dta | 1ddea926b393d16417856e1135b29d67 |
3 | ESS3e03_7.dta | f3922c40bf5f37d0d5f1f1553a180898 |
4 | ESS4e04_5.dta | f9455c929aee50fd3ab71a9ec9fd51a4 |
5 | ESS5e03_4.dta | 88c340e6a63d88bd7b1e42a2ded830de |
6 | ESS6e02_5.dta | eb508dfaec9f896851db7cc0de1cc1e9 |
7 | ESS7e02_2.dta | 0d413a5724618ff7ec373a48edbf5f0e |
8 | ESS8e02_2.dta | b1ab85d0a22aa17306e908095269e4dd |
9 | ESS9e03_1.dta | 536f541f23064fd0b46ed7fd8b1e932a |
10 | ESS10.dta | 533b89b4ebda6f58d5aef181b2c42c9b |
10 | ESS10SC.dta | 975db0389d844e25aa669c3d2da4f7ac |
Note — The ESS-10 is released with two data files, one for the standard face-to-face interviews and another file for countries with self-completion mode due to the COVID-19 restrictions.
Summary of ESS rounds
<- read_rds("data/02-ess-select.rds")
ess_raw
|>
ess_raw summarise(
n = n(),
n_countries = n_distinct(cntry),
inw_first = min(year(inw_date), na.rm = TRUE),
inw_last = max(year(inw_date), na.rm = TRUE),
.by = "essround"
|>
) arrange(essround)
essround | n | n_countries | inw_first | inw_last |
---|---|---|---|---|
1 | 42359 | 22 | 2002 | 2003 |
2 | 47537 | 25 | 2004 | 2006 |
3 | 43000 | 23 | 2006 | 2007 |
4 | 56752 | 29 | 2008 | 2010 |
5 | 52458 | 27 | 2010 | 2012 |
6 | 54673 | 29 | 2012 | 2013 |
7 | 40185 | 21 | 2014 | 2015 |
8 | 44387 | 23 | 2016 | 2017 |
9 | 49519 | 29 | 2018 | 2020 |
10 | 58810 | 30 | 2020 | 2022 |
|>
ess_raw summarise(
n = n_distinct(cntry),
countries = paste(unique(sort(cntry)), collapse = ", "),
.by = "essround"
|>
) arrange(essround)
essround | n | countries |
---|---|---|
1 | 22 | AT, BE, CH, CZ, DE, DK, ES, FI, FR, GB, GR, HU, IE, IL, IT, LU, NL, NO, PL, PT, SE, SI |
2 | 25 | AT, BE, CH, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HU, IE, IS, LU, NL, NO, PL, PT, SE, SI, SK, TR, UA |
3 | 23 | AT, BE, BG, CH, CY, DE, DK, EE, ES, FI, FR, GB, HU, IE, NL, NO, PL, PT, RU, SE, SI, SK, UA |
4 | 29 | BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IL, LV, NL, NO, PL, PT, RO, RU, SE, SI, SK, TR, UA |
5 | 27 | BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IL, LT, NL, NO, PL, PT, RU, SE, SI, SK, UA |
6 | 29 | AL, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, HU, IE, IL, IS, IT, LT, NL, NO, PL, PT, RU, SE, SI, SK, UA, XK |
7 | 21 | AT, BE, CH, CZ, DE, DK, EE, ES, FI, FR, GB, HU, IE, IL, LT, NL, NO, PL, PT, SE, SI |
8 | 23 | AT, BE, CH, CZ, DE, EE, ES, FI, FR, GB, HU, IE, IL, IS, IT, LT, NL, NO, PL, PT, RU, SE, SI |
9 | 29 | AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, HR, HU, IE, IS, IT, LT, LV, ME, NL, NO, PL, PT, RS, SE, SI, SK |
10 | 30 | AT, BE, BG, CH, CZ, DE, EE, ES, FI, FR, GB, GR, HR, HU, IE, IL, IS, IT, LT, LV, ME, MK, NL, NO, PL, PT, RS, SE, SI, SK |