Preparació de les dades

S’utilitzarà el baròmetre del Centre d’Estudis d’Opinió realitzat entre 13 a 21 de gener de 2021, dies abans de les eleccions catalanes del 14 de febrer. El baròmetre es pot descarregar aquí.

library("haven")
setwd("/Users/rodoncas/G.Drive UPF/Tutorials/Participació/")
df <- read_sav("Microdades anonimitzades -992.sav")

Netegem la base de dades per tal d’analitzar-la amb més facilitat.

library("dplyr")
df <- df %>% 
  mutate(part = replace(df$P11, df$P11 == 98 | df$P11 == 99, NA),
         gestio_pandemia = replace(df$P13_E, df$P13_E == 98 | df$P13_E == 99, NA),
         ideol = replace(df$P6, df$P6 == 98 | df$P6 == 99, NA),
         catalanisme = replace(df$P7, df$P7 == 98 | df$P7 == 99, NA),
         sexe = if_else(df$SEXE==2,0,1))

df$compol <- NA
df$compol[df$P18R_CENS==1] <- "PP"
df$compol[df$P18R_CENS==3] <- "ERC"
df$compol[df$P18R_CENS==4] <- "PSC"
df$compol[df$P18R_CENS==6] <- "Cs"
df$compol[df$P18R_CENS==10] <- "CUP"
df$compol[df$P18R_CENS==21] <- "JxCat"
df$compol[df$P18R_CENS==22] <- "ECP"
df$compol <- as.factor(df$compol)

df$compol  <- relevel(df$compol , "PSC")

df$simpatia <- NA
df$simpatia[df$P5==1] <- "PP"
df$simpatia[df$P5==3] <- "ERC"
df$simpatia[df$P5==4] <- "PSC"
df$simpatia[df$P5==6] <- "Cs"
df$simpatia[df$P5==10] <- "CUP"
df$simpatia[df$P5==21] <- "JxCat"
df$simpatia[df$P5==22] <- "ECP"
df$simpatia[df$P5==95] <- "Cap"
df$simpatia <- as.factor(df$simpatia)


df$part <- as.numeric(df$part)
df$part_binaria <- NA 
df$part_binaria[df$part>6] <-"Probablement votarà el 14-F"
df$part_binaria[df$part<7] <-"Probablement s'abstindrà el 14-F"
df$part_binaria <- as.factor(df$part_binaria)

df$ingressos <- df$P38
df$ingressos[df$ingressos==98] <- 7
df$ingressos[df$ingressos==99] <- 7

df$ingressos <- factor(df$ingressos,
                       levels = c(1,2,3,4,5,6,7),
                       labels = c("No té cap tipus d'ingrés",
                                  "Menys o igual a 300 €",
                                  "De 301 a 600 €",
                                  "De 601 a 900 €",
                                  "De 900 a 1000 €",
                                  "De 1001 a 1200 €",
                                  "Ns/Nc"))
df$size <- NA
df$size[df$HABITAT<4]<- 1
df$size[df$HABITAT==4]<- 2
df$size[df$HABITAT>4]<- 3

df$size <- factor(df$size,
                       levels=c(1,2,3),
                       labels=c("Menys de 50mil habitants",
                                "Entre 50mil i 150mil habitants",
                                "Més de 150mil habitants"))

df$edat_grups <- factor(df$EDAT_GR,
                       levels = c(1,2,3,4,5),
                       labels=c("De 18 a 24 anys",
                                "De 25 a 34 anys",
                                "De 35 a 49 anys",
                                "De 50 a 64 anys",
                                "Més de 64 anys"))

Resultats

El gràfic següent mostra la distribució de la probabilitat de participar en les eleccions.

library("ggplot2")
library("ggtext")
ggplot(df, aes(x=part)) +
  geom_bar(aes(y = (..count..)/sum(..count..))) +
    geom_vline(xintercept = mean(df$part, na.rm = T), color="blue",lty = 2) +
ylab("Densitat") +
  xlab("Amb quina seguretat anirà a votar?<br>0=Amb tota seguretat no aniré a votar; 10=Amb tota seguretat aniré a votar")  +
  theme(axis.title.x = element_markdown()) +
 scale_y_continuous(labels=scales::percent) +
annotate("text", x = 7.2, y = 0.6, label = "Mitjana")

Quina és la probabilitat declarada de participar entre els votants de cadascun dels partits (record de vot a les eleccions del 2017)?

part2 <- df %>% 
  group_by(compol, part) %>%
  summarise(n = n()) %>%
  mutate(freq = n / sum(n)) %>% 
  na.omit()


ggplot(part2, aes(x=part, y = freq)) +
  geom_bar(stat = "identity") +
  facet_grid(~compol) +
  xlab("Amb quina seguretat anirà a votar?") +
  ggtitle("Amb quina seguretat aniran a votar els votants de diferents partits") +
  xlab("Amb quina seguretat anirà a votar?<br>0=Amb tota seguretat no aniré a votar; 10=Amb tota seguretat aniré a votar")  +
  theme(axis.title.x = element_markdown()) +
      geom_vline(xintercept = mean(df$part, na.rm = T), color="blue",lty = 2) +
   scale_y_continuous(labels=scales::percent)