So, I need to create new variables measuring wether someone voted strategically in both 2017 and 2021. To that end, we have one variable with the preferred party (Q7) and two with the party the person actually voted for (Q11 for 2021 and Q14 for 2017). Unfortunately, some participants were not allowed to vote "Ich durfte noch nicht wählen" or voted for another party "Andere" .I then tried to create the following code with the following goal:
If someone couldnt rememeber what he voted for -> assign 0
When someone wasnt allowed to vote -> assign NA
When someone voted strategically (either with one of the main parties or one of the others), so if Q7!=Q14 -> assign 1
BTW_2021 <- BTW_2021 %>%
mutate(StrategischeWahl2021 = case_when(Q11 == "Ich kann mich nicht errinern" ~ "0",
Q7 == "Andere" ~ "0",
Q7 != Q11 ~ "1",#1=Ja
TRUE ~ "0")) %>% #0=Nein
mutate(StrategischeWahl2017 = case_when(Q14 == "Ich kann mich nicht errinern" ~ "0",
Q7 == "Andere" ~ "0",
Q14 == "Ich durfte noch nicht wählen." ~ "NA",
Q7!=Q14 ~"1", #1=Ja
TRUE~"0")) #0=Nein
Unfortunately, this didnt work. Now, when someone can´t remember what he has voted for, he is assigned a 1 instead of a zero. Any insight in to how to fix that would be greatly appreciated ;)
The data:
> BTW_2021 <- BTW_2021 %>%
+ select(Q7, Q11, Q14) %>%
+ slice_sample(n = 20)
> View(BTW_2021)
> dput(BTW_2021)
structure(list(Q7 = c("FDP", "Buendnis 90/Die Gruenen", "Buendnis 90/Die Gruenen",
"Buendnis 90/Die Gruenen", "FDP", "SPD", "Buendnis 90/Die Gruenen",
"Buendnis 90/Die Gruenen", "FDP", "Buendnis 90/Die Gruenen",
"FDP", "SPD", "SPD", "FDP", "FDP", "SPD", "Buendnis 90/Die Gruenen",
"CDU/CSU", "FDP", "FDP"), Q11 = c("Buendnis 90/Die Gruenen",
"Ich kann mich nicht erinnern", "Die Linke", "FDP", "FDP", "SPD",
"FDP", "Buendnis 90/Die Gruenen", "FDP", "Buendnis 90/Die Gruenen",
"FDP", "SPD", "SPD", "FDP", "FDP", "Buendnis 90/Die Gruenen",
"SPD", "CDU/CSU", "FDP", "Buendnis 90/Die Gruenen"), Q14 = c("Ich durfte noch nicht wählen.",
"Ich kann mich nicht erinnern.", "Ich durfte noch nicht wählen.",
"Ich kann mich nicht erinnern.", "Ich kann mich nicht erinnern.",
"SPD", "FDP", "CDU/CSU", "FDP", "Buendnis 90/Die Gruenen", "FDP",
"SPD", "Ich durfte noch nicht wählen.", "Ich durfte noch nicht wählen.",
"Ich durfte noch nicht wählen.", "Die Linke", "SPD", "Ich durfte noch nicht wählen.",
"Ich durfte noch nicht wählen.", "Ich durfte noch nicht wählen."
)), row.names = c(NA, -20L), class = "data.frame")
the result:
dput(BTW_2021)
structure(list(Q7 = c("FDP", "Buendnis 90/Die Gruenen", "Buendnis 90/Die Gruenen",
"Buendnis 90/Die Gruenen", "FDP", "SPD", "Buendnis 90/Die Gruenen",
"Buendnis 90/Die Gruenen", "FDP", "Buendnis 90/Die Gruenen",
"FDP", "SPD", "SPD", "FDP", "FDP", "SPD", "Buendnis 90/Die Gruenen",
"CDU/CSU", "FDP", "FDP"), Q11 = c("Buendnis 90/Die Gruenen",
"Ich kann mich nicht erinnern", "Die Linke", "FDP", "FDP", "SPD",
"FDP", "Buendnis 90/Die Gruenen", "FDP", "Buendnis 90/Die Gruenen",
"FDP", "SPD", "SPD", "FDP", "FDP", "Buendnis 90/Die Gruenen",
"SPD", "CDU/CSU", "FDP", "Buendnis 90/Die Gruenen"), Q14 = c("Ich durfte noch nicht wählen.",
"Ich kann mich nicht erinnern.", "Ich durfte noch nicht wählen.",
"Ich kann mich nicht erinnern.", "Ich kann mich nicht erinnern.",
"SPD", "FDP", "CDU/CSU", "FDP", "Buendnis 90/Die Gruenen", "FDP",
"SPD", "Ich durfte noch nicht wählen.", "Ich durfte noch nicht wählen.",
"Ich durfte noch nicht wählen.", "Die Linke", "SPD", "Ich durfte noch nicht wählen.",
"Ich durfte noch nicht wählen.", "Ich durfte noch nicht wählen."
), StrategischeWahl2021 = c("1", "1", "1", "1", "0", "0", "1",
"0", "0", "0", "0", "0", "0", "0", "0", "1", "1", "0", "0", "1"
), StrategischeWahl2017 = c("NA", "1", "NA", "1", "1", "0", "1",
"1", "0", "0", "0", "0", "NA", "NA", "NA", "1", "1", "NA", "NA",
"NA")), row.names = c(NA, -20L), class = "data.frame")
The expected result: changes for 2021 in row 2, for 2017 in the rows 2, 4, 5
dput(BTW_2021)
structure(list(Q7 = c("FDP", "Buendnis 90/Die Gruenen", "Buendnis 90/Die Gruenen",
"Buendnis 90/Die Gruenen", "FDP", "SPD", "Buendnis 90/Die Gruenen",
"Buendnis 90/Die Gruenen", "FDP", "Buendnis 90/Die Gruenen",
"FDP", "SPD", "SPD", "FDP", "FDP", "SPD", "Buendnis 90/Die Gruenen",
"CDU/CSU", "FDP", "FDP"), Q11 = c("Buendnis 90/Die Gruenen",
"Ich kann mich nicht erinnern", "Die Linke", "FDP", "FDP", "SPD",
"FDP", "Buendnis 90/Die Gruenen", "FDP", "Buendnis 90/Die Gruenen",
"FDP", "SPD", "SPD", "FDP", "FDP", "Buendnis 90/Die Gruenen",
"SPD", "CDU/CSU", "FDP", "Buendnis 90/Die Gruenen"), Q14 = c("Ich durfte noch nicht wählen.",
"Ich kann mich nicht erinnern.", "Ich durfte noch nicht wählen.",
"Ich kann mich nicht erinnern.", "Ich kann mich nicht erinnern.",
"SPD", "FDP", "CDU/CSU", "FDP", "Buendnis 90/Die Gruenen", "FDP",
"SPD", "Ich durfte noch nicht wählen.", "Ich durfte noch nicht wählen.",
"Ich durfte noch nicht wählen.", "Die Linke", "SPD", "Ich durfte noch nicht wählen.",
"Ich durfte noch nicht wählen.", "Ich durfte noch nicht wählen."
), StrategischeWahl2021 = c("1", "0", "1", "1", "0", "0", "1",
"0", "0", "0", "0", "0", "0", "0", "0", "1", "1", "0", "0", "1"
), StrategischeWahl2017 = c("NA", "0", "NA", "0", "0", "0", "1",
"1", "0", "0", "0", "0", "NA", "NA", "NA", "1", "1", "NA", "NA",
"NA")), row.names = c(NA, -20L), class = "data.frame")