Limpie el environment para comenzar a trabajar.
rm(list =ls() )
Cargue los paquetes necesarios para trabajar con DT
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.
ResultadosElectorales <- readRDS("C:/Users/Esteban/Desktop/UAI/1 Sem 2021/Data Science/Controles/Control Recuperativo/ResultadosElectorales.rds")
ResultadosElectorales <- as.data.table(ResultadosElectorales)
Elimine los individuos cuyo nombre del Candidato sea “VOTOS NULOS”, “TOTAL” o “VOTOS EN BLANCO”
ResultadosElectorales <- ResultadosElectorales [!Candidato=="VOTOS NULOS"]
ResultadosElectorales <- ResultadosElectorales [!Candidato=="VOTOS EN BLANCO"]
ResultadosElectorales <- ResultadosElectorales [!Candidato=="TOTAL"]
¿Cuántos pactos hubo en total según los datos?
ResultadosElectorales[,.N, by="Pacto"]
## Pacto N
## 1: PACTO NUEVA MAYORIA 16267
## 2: PACTO CHILE VAMOS 16740
## 3: PACTO PUEBLO UNIDO 10074
## 4: CANDIDATURA INDEPENDIENTE 10312
## 5: PACTO ALTERNATIVA DEMOCRATICA 1607
## 6: PACTO PODER ECOLOGISTA Y CIUDADANO 7868
## 7: PACTO YO MARCO POR EL CAMBIO 6830
## 8: PACTO JUSTICIA Y TRANSPARENCIA 4855
## 9: PACTO CAMBIEMOS LA HISTORIA 611
Hubieron 9 pactos según los datos
¿Cuántas comunas en total hay en la base de datos? ¿Cuál fue la comuna con más observaciones?
ResultadosElectorales[,.N, by="Comuna"]
## Comuna N
## 1: ESTACION CENTRAL 1508
## 2: ALHUE 40
## 3: LAS CONDES 2948
## 4: PUENTE ALTO 3504
## 5: LAMPA 888
## 6: LA FLORIDA 4480
## 7: BUIN 756
## 8: CALERA DE TANGO 124
## 9: EL BOSQUE 1652
## 10: CERRILLOS 410
## 11: CERRO NAVIA 2082
## 12: PAINE 278
## 13: COLINA 438
## 14: PUDAHUEL 1912
## 15: MAIPU 6510
## 16: PEÑALOLEN 2188
## 17: CURACAVI 207
## 18: SANTIAGO 6293
## 19: CONCHALI 2709
## 20: EL MONTE 296
## 21: LO ESPEJO 1180
## 22: ÑUÑOA 2344
## 23: HUECHURABA 788
## 24: INDEPENDENCIA 940
## 25: ISLA DE MAIPO 219
## 26: MACUL 861
## 27: LA CISTERNA 777
## 28: LA GRANJA 1585
## 29: LA PINTANA 2436
## 30: LA REINA 1410
## 31: LO BARNECHEA 840
## 32: LO PRADO 813
## 33: MARIA PINTO 120
## 34: MELIPILLA 1590
## 35: PADRE HURTADO 440
## 36: PEDRO AGUIRRE CERDA 1550
## 37: PEÑAFLOR 1170
## 38: PIRQUE 180
## 39: PROVIDENCIA 2465
## 40: QUILICURA 1456
## 41: QUINTA NORMAL 1216
## 42: RECOLETA 2175
## 43: RENCA 1014
## 44: SAN BERNARDO 3240
## 45: SAN JOAQUIN 789
## 46: SAN JOSE DE MAIPO 215
## 47: SAN MIGUEL 1470
## 48: SAN PEDRO 115
## 49: SAN RAMON 747
## 50: TALAGANTE 636
## 51: TILTIL 120
## 52: VITACURA 1040
## Comuna N
Hay 52 comunas en la base de datos La comuna con más obervaciones fue MAIPU con 6.510
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 <- ResultadosElectorales[, "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?
sum(ResultadosElectorales[, "Votos_TER"])
## [1] 1575267
ResultadosElectorales[,sum(Votos_TER), by="Pacto"]
## Pacto V1
## 1: PACTO NUEVA MAYORIA 538943
## 2: PACTO CHILE VAMOS 689184
## 3: PACTO PUEBLO UNIDO 31723
## 4: CANDIDATURA INDEPENDIENTE 199002
## 5: PACTO ALTERNATIVA DEMOCRATICA 6378
## 6: PACTO PODER ECOLOGISTA Y CIUDADANO 54059
## 7: PACTO YO MARCO POR EL CAMBIO 37069
## 8: PACTO JUSTICIA Y TRANSPARENCIA 11169
## 9: PACTO CAMBIEMOS LA HISTORIA 7740
Las dos coaliciones con más votos fueron PACTO CHILE VAMOS con 689.184 votos y PACTO NUEVA MAYORIA con 538.943 votos
¿Cuál fue el candidato “independiente” que obtuvo más votos?
ResultadosElectorales[ Partido== "INDEPENDIENTE", sum(Votos_TER), by="Candidato" ]
## Candidato V1
## 1: DORIS DAYANNA GONZALEZ LEMUNAO 2608
## 2: MAURICIO SANTANDER VIDELA 1296
## 3: ROBERTO TORRES HUERTA 2477
## 4: WILLEM SCHUITEMAKER TRUFFELLO 6145
## 5: DANIEL ESTEBAN GODOY MENDEZ 771
## 6: MARIA PAZ ESPINOZA CARVAJAL 636
## 7: JOSE NUÑEZ GONZALEZ 1159
## 8: ALFONSO RODRIGUEZ LABBE 3511
## 9: RODOLFO CARTER FERNANDEZ 56341
## 10: PEDRO NUÑEZ CERDA 943
## 11: ERASMO VALENZUELA SANTIBAÑEZ 5561
## 12: MAURO TAMAYO ROZAS 16262
## 13: LUIS MOLINA GAETE 2352
## 14: TAMARA VALESKA NORAMBUENA ARANCIBIA 5164
## 15: CLAUDIA NATHALIE MIX JIMENEZ 11004
## 16: CATHERINE BARRIGA GUERRA 35303
## 17: SANDRA URIBE FLORES 2222
## 18: CHRISTIAN VITTORI MUÑOZ 30615
## 19: JUAN PABLO BARROS BASSO 6633
## 20: ALONSO MATIAS ROJAS LOPEZ 4021
## 21: LORETO SEGUEL KING 7174
## 22: GUSTAVO VERGARA ROJAS 1677
## 23: RENE DE LA VEGA FUENTES 8485
## 24: LORENZO MOLINA RAMIREZ 1034
## 25: ANTONIO ALIAGA LEIVA 162
## 26: PIO ORTEGA REYES 384
## 27: ELIZABETH DEL CARMEN HENRIQUEZ LEIVA 4197
## 28: CARLOS INOSTROZA OJEDA 4737
## 29: ANDRES ZARHI TROY 30933
## 30: ALEJANDRO ZACUR PLOTZ 3102
## 31: CAROLINA PLAZA GUZMAN 5944
## 32: OSVALDO JAVIER NAVARRO JAMETT 262
## 33: VICTOR MAURICIO URZUA MAULEN 2412
## 34: ANTONIO GARRIDO MARDONES 5018
## 35: GONZALO MONTOYA RIQUELME 14464
## 36: VIVIAN MAIRA SMITH 2626
## 37: ANTONIO RIVAS FIGUEROA 1605
## 38: JOSE ANSELMO HIDALGO ZAMORA 2463
## 39: DIEGO IGLESIAS CARRANZA 6599
## 40: JORGE ALEJANDRO NUÑEZ SANDOVAL 734
## 41: PEDRO DAVIS URZUA 5556
## 42: RAFAEL PATRICIO WALKER SALGADO 1012
## 43: CARLOS WARD EDWARDS 10613
## 44: RICARDO FLORES GOMEZ 6796
## 45: FELIPE ARMIJO SANCHEZ 5702
## 46: CAROLINA ARAOS ESCANDON 121
## 47: JESSICA MUALIM FAJURI 2648
## 48: ALVARO TOBAR GOMEZ 1757
## 49: RAUL ANTONIO ROJAS LEON 854
## 50: FRANCISCO PARRA PINTO 243
## 51: CARLOS IBAÑEZ HORMAZABAL 1220
## 52: JUAN ROZAS ROMERO 13010
## 53: ARIEL ALONSO ROMERO NUÑEZ 692
## 54: ESTEBAN CACERES OLAVE 169
## 55: RICHARD LEIVA MENDOZA 274
## 56: MARIA JOSEFA ERRAZURIZ GUILISASTI 25425
## 57: JUAN ELVIRO CARRASCO CONTRERAS 17964
## 58: JAIME ACEITON VASQUEZ 3133
## 59: JUAN CARLOS SOTO CLIVIO 5451
## 60: VICTOR MANUEL MARTINEZ ÑANCO 1451
## 61: MANUEL AHUMADA LILLO 1872
## 62: SERGIO ECHEVERRIA GARCIA 14281
## 63: HECTOR LEONARDO ARAVENA PEREZ 1483
## 64: MAXIMILIANO VARGAS LABRA 159
## 65: JUAN CARLOS AGUIRRE LIZAMA 325
## 66: DANIEL RODRIGUEZ CLAVEROL 394
## 67: GUILLERMO ARAVENA MONDACA 759
## 68: RODRIGO GONZALEZ CERON 3050
## 69: PAULINA PALACIOS VERGARA 595
## 70: JUAN CARLOS JIMENEZ SUFAN 169
## 71: LORENZO ANDRES MORALES CORTES 1221
## 72: ALICIA STUARDO MORALES 1547
## 73: PABLO ESQUIVEL VASQUEZ 2174
## 74: NELSON ORELLANA URZUA 3302
## 75: HECTOR MANUEL AHUMADA ROJAS 621
## 76: RODOLFO TERRAZAS GONZALEZ 14070
## Candidato V1
El candidato independiente con más votos fue RODOLFO CARTER FERNANDEZ, con 56.341 votos.
¿Cuántas personas votaron en la comuna “LAS CONDES”?
ResultadosElectorales[ Comuna== "LAS CONDES", sum(Votos_TER)]
## [1] 85345
85.345 personas votaron en la comuna de Las Condes, teniendo en cuenta que no están contabilizadas las personas cuyo voto fue nulo o en blanco.
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 <- ResultadosElectorales[,sum(Votos_TER),by="Comuna"]
names (DATOS_COMUNALES) [2] <- "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 <- ResultadosElectorales[,sum(Votos_TER),by=.(Candidato,Comuna)]
names (DATOS_CANDIDATOS) [3] <- "Votos_TER"
Objeto incluye también “comuna” como variable. Se agregó para mayor claritud respecto a la comuna en que el candidato postula.
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.
A<-aggregate(Votos_TER ~ Comuna,DATOS_CANDIDATOS,max)
names (A) [1] <- "mayoria"
A<- as.data.table(A)
A[, mayoria:=1]
M<- merge(DATOS_CANDIDATOS,A, by= "Votos_TER",all = TRUE)
M<- as.data.table(M)
M[is.na(M)] <- 0
M <- M[,c("Candidato","Comuna","Votos_TER","mayoria")]
DATOS_CANDIDATOS <- M
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= "Comuna", all=TRUE)
names(DATOS_FINALES) [3] <- "Votos_TER"
names(DATOS_FINALES) [5] <- "Votos_TotXComuna"
Genere una variable que se llame “porcentaje” que indique el porcentaje de los votos que obtuvo el candidato en relación a los votos de su comuna.
DATOS_FINALES[,porcentaje:= Votos_TER/Votos_TotXComuna]