I'm undertaking a data analysis of the 2017 General Election using the BES Survey. I need to test whether people who identify as religious are more likely to vote for a certain party, but the survey question lists each religion seperately?
How do I combine these answers together to have one label for all religions?
So far I have the following which gives me a breakdown of each party, voting for Conservative and Other but I need it to be only two categories, 'No Religion' and 'All Religions'.
bes17f <- read_spss("bes_f2f_2017_v1.5.sav")
bes17f <- as_factor(bes17f) %>% droplevels()
descriptives(bes17f, vars=c(b02, y06), freq = TRUE, bar = TRUE)
bes17f <- bes17f %>%
mutate(
vote17 = recode(b02,
"Don`t know"=NA_character_,
"Don't know"=NA_character_,
"Refused"=NA_character_,
"Not stated" = NA_character_,
"Other" = NA_character_,
"NA" = NA_character_,
),
Religion17 = recode(y06,
"Don`t know"=NA_character_,
"Don't know"=NA_character_,
"No religion"=NA_character_,
"Refusal" = NA_character_,
)
)
bes17f <- bes17f %>%
mutate(vote17_simple = fct_other(vote17, keep=c("Conservatives")))
bes17f %>%
drop_na(Religion17) %>%
drop_na(vote17_simple) %>%
ggplot(aes(x=Religion17)) +
geom_bar(position="fill", aes(fill=vote17_simple)) +
theme(axis.text.x = element_text(angle = 20, hjust = 1)) +
scale_y_continuous(labels = percent)
Thanks in advance!