Actividad con Décimas Ilan Ben-Dov, Florencia Olbertz ## Pregunta 1 Limpie el environment para comenzar a trabajar.
rm(list=ls())
Cargue los paquetes necesarios para trabajar con DT.
library(rmarkdown)
library(data.table)
Abra la base de datos Resultados Electorales Pista: Para los archivos .RDS utilice la función readRDS. Ojo que la base de datos no se abrirá como un DT, por lo tanto tiene que transformarla.
re <- readRDS("/Users/kiwixx/Desktop/Data Science/Actividad con Décimas/Actividad Con Décimas/ResultadosElectorales.rds")
re <- as.data.table(re)
Elimine los individuos cuyo nombre del Candidato sea “VOTOS NULOS”, “TOTAL” o “VOTOS EN BLANCO”
re <- re[Candidato != "VOTOS NULOS"]
re <- re[Candidato != "VOTOS EN BLANCO"]
re <- re[Candidato != "TOTAL"]
¿Cuántos pactos hubo en total según los datos?
np <- re[, .(.N), by= "Pacto"]
numero_pacto <- np[,sum(N)]
¿Cuántas comunas en total hay en la base de datos? ¿Cuál fue la comuna con más observaciones?
comunas <- re[, .N, by = "Comuna"]
comunas <- comunas[order(N)]
length(comunas$N)
## [1] 52
Genere una objeto que contenga los nombres de los candidatos. Asegurese de que la base de datos no repetirá el nombre de los candidatos.
nombres_candidatos <- re[,.(Candidato)]
nombres_candidatos <- unique(nombres_candidatos)
¿Cuántas personas votaron en total? ¿Cuáles fueron las 2 coaliciones con más votos? ¿Cuántos votos obtuvieron?
rc <- re[,.(Votos =sum(Votos_TER,na.rm = T)), by = "Partido"]
rc <- rc[order(Votos)]
rc[,sum(Votos)]
## [1] 1575267
¿Cuál fue el candidato “independiente” que obtuvo más votos?
inde <- re[Partido == "INDEPENDIENTE", sum(Votos_TER, na.rm =T), by= Candidato]
inde <- inde[order(V1, decreasing = TRUE)]
inde
Genere una base que contenga el nombre del candidato y el número total de votos a nivel de comuna que recibieron. Llame a este objeto “DATOS_CANDIDATOS”.
votos_en_las_condes <- re[Comuna == "LAS CONDES", .N]
votos_en_las_condes
## [1] 2948
Genere un objeto que contenga, para cada comuna, el número total de votos que se realizaron en la comuna. Llame a este objeto “DATOS_COMUNALES”
DATOS_COMUNALES <-re[,.N, by = .(Comuna, Votos_TER)]
Genere una base que contenga el nombre del candidato y el número total de votos a nivel de comuna que recibieron. Llame a este objeto “DATOS_CANDIDATOS”.
DATOS_CANDIDATOS <- re[,. (VotosCandidato=sum(Votos_TER, na.rm = T)), by =.(Candidato, Comuna)]
Utilizando la base “DATOS_CANDIDATOS” genere una variable llamada “mayoria” que tome valor igual a uno si el individuo fue el candidatos con más votos en su comuna. En caso contrario, la variable debe tomar valor igual a cero.
DATOS_CANDIDATOS <- DATOS_CANDIDATOS[VotosCandidato == max(DATOS_CANDIDATOS$VotosCandidato), "mayoria":= 1]
DATOS_CANDIDATOS <- DATOS_CANDIDATOS[VotosCandidato != max(DATOS_CANDIDATOS$VotosCandidato), "mayoria":= 0]
DATOS_CANDIDATOS
Utilice la función “merge” para pegar la información de la base “DATOS_CANDIDATOS” y “DATOS_COMUNALES”. Llame a esta base “DATOS_FINALES”
#DATOS_FINALES = merge(DATOS_CANDIDATOS, DATOS_COMUNALES, by.x = "Comuna", by.y = "Comuna" )