R Markdown

library(haven) library(dplyr)

df <- read_sav(“~/Desktop/ESS11_unlabeled.0-10.sav”)

df\(cntry <- as.character(df\)cntry) df\(gndr <- as.character(df\)gndr) df\(health <- as.character(df\)health) df\(agea <- as.numeric(df\)agea)

CES-D8 —————————————————-

df\(d1 <- as.numeric(df\)fltdpr) df\(d2 <- as.numeric(df\)flteeff) df\(d3 <- as.numeric(df\)fltlnl) df\(d4 <- 5 - as.numeric(df\)enjlf) df\(d5 <- as.numeric(df\)fltsd) df\(d6 <- 5 - as.numeric(df\)wrhpp) df\(d7 <- as.numeric(df\)slprl) df\(d8 <- as.numeric(df\)cldgng)

df$cesd8 <- rowMeans(df[, paste0(“d”, 1:8)], na.rm = TRUE)

Mapping of country → party-voted variable —————–

party_var <- c( AT = “prtvgde1”, BE = “prtvtebe”, CH = “prtvtdch”, CZ = “prtvtdcz”, DE = “prtvgde1”, DK = “prtvtdse”, EE = “prtvteis”, FI = “prtvtffi”, FR = “prtvtffr”, IT = “prtvteit”, NL = “prtvtinl”, NO = “prtvtcno”, PL = “prtvtfpl”, SE = “prtvtdse”, UK = “prtvtdgb” )

Right-wing populist party codes (example set)

rwp_parties <- list( AT = c(“801”), BE = c(“501”), CH = c(“1701”, “1702”), CZ = c(“1401”), DE = c(“801”), DK = c(“201”), EE = c(“901”), FI = c(“701”), FR = c(“501”), IT = c(“301”, “302”), NL = c(“601”, “602”), NO = c(“1101”), PL = c(“401”), SE = c(“1201”), UK = c(“501”) )

Extract correct party vote for each person —————-

df$party_vote <- NA

for (c in names(party_var)) { varname <- party_var[[c]] if (varname %in% names(df)) { df\(party_vote[df\)cntry == c] <- as.character(df[df$cntry == c, varname][[1]]) } }

Create right-wing populist vote dummy ———————

df\(vote_rwp <- mapply( function(country, party){ if (country %in% names(rwp_parties)) { as.numeric(party %in% rwp_parties[[country]]) } else { NA } }, df\)cntry, df$party_vote )

table(df$vote_rwp, useNA = “ifany”)

Country-level aggregation ———————————

country_agg <- df %>% group_by(cntry) %>% summarize( pct_rwp_vote = mean(vote_rwp, na.rm = TRUE), mean_cesd8 = mean(cesd8, na.rm = TRUE), pct_male = mean(gndr == “Male”, na.rm = TRUE), mean_age = mean(agea, na.rm = TRUE), pct_good_health = mean(health %in% c(“Very good”,“Good”), na.rm = TRUE) )

print(country_agg)

Export —————————————————–

write.csv(country_agg, “~/Desktop/country_aggregated_ESS11.csv”, row.names = FALSE)