library(rio)
positivos = import("positivos_final.csv")
fallecidos = import("fallecidos_final.csv")
elecciones = import("elecciones_final.csv")
censo = import("censo_final.csv")
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(rio)
#Juntar elecciones
names(elecciones)
## [1] "UBIGEO" "DEPARTAMENTO"
## [3] "PROVINCIA" "DISTRITO"
## [5] "ELEC.TIPO_ELECCION" "ELEC.MESA_DE_VOTACION"
## [7] "ELEC.DESCRIP_ESTADO_ACTA" "ELEC.TIPO_OBSERVACION"
## [9] "ELEC.N_CVAS" "ELEC.N_ELEC_HABIL"
## [11] "ELEC.VOTOS_P1" "ELEC.VOTOS_P2"
## [13] "ELEC.VOTOS_VB" "ELEC.VOTOS_VN"
## [15] "ELEC.VOTOS_VI"
str(elecciones)
## 'data.frame': 86488 obs. of 15 variables:
## $ UBIGEO : int 10101 10101 10101 10101 10101 10201 10101 10107 10112 10112 ...
## $ DEPARTAMENTO : chr "AMAZONAS" "AMAZONAS" "AMAZONAS" "AMAZONAS" ...
## $ PROVINCIA : chr "CHACHAPOYAS" "CHACHAPOYAS" "CHACHAPOYAS" "CHACHAPOYAS" ...
## $ DISTRITO : chr "CHACHAPOYAS" "CHACHAPOYAS" "CHACHAPOYAS" "CHACHAPOYAS" ...
## $ ELEC.TIPO_ELECCION : chr "PRESIDENCIAL" "PRESIDENCIAL" "PRESIDENCIAL" "PRESIDENCIAL" ...
## $ ELEC.MESA_DE_VOTACION : int 13 26 30 36 40 148 59 90 117 119 ...
## $ ELEC.DESCRIP_ESTADO_ACTA: chr "CONTABILIZADA" "CONTABILIZADA" "CONTABILIZADA" "CONTABILIZADA" ...
## $ ELEC.TIPO_OBSERVACION : logi NA NA NA NA NA NA ...
## $ ELEC.N_CVAS : int 220 144 129 202 228 171 220 138 178 185 ...
## $ ELEC.N_ELEC_HABIL : int 300 300 300 252 300 300 300 213 240 240 ...
## $ ELEC.VOTOS_P1 : int 115 71 71 66 125 112 90 93 113 116 ...
## $ ELEC.VOTOS_P2 : int 87 58 50 105 87 51 101 34 54 58 ...
## $ ELEC.VOTOS_VB : int NA NA NA 5 NA 4 7 3 3 3 ...
## $ ELEC.VOTOS_VN : int 18 15 8 26 16 4 22 8 8 8 ...
## $ ELEC.VOTOS_VI : int NA NA NA NA NA NA NA NA NA NA ...
elecciones <- elecciones %>%
group_by(DEPARTAMENTO, PROVINCIA) %>%
summarise(
ELEC.N_CVAS = sum(ELEC.N_CVAS, na.rm = TRUE),
ELEC.N_ELEC_HABIL = sum(ELEC.N_ELEC_HABIL, na.rm = TRUE),
ELEC.VOTOS_PL = sum(ELEC.VOTOS_P1, na.rm = TRUE),
ELEC.VOTOS_FP = sum(ELEC.VOTOS_P2, na.rm = TRUE),
ELEC.VOTOS_VB = sum(ELEC.VOTOS_VB, na.rm = TRUE),
ELEC.VOTOS_VN = sum(ELEC.VOTOS_VN, na.rm = TRUE),
ELEC.VOTOS_VI = sum(ELEC.VOTOS_VI, na.rm = TRUE)
)
## `summarise()` has grouped output by 'DEPARTAMENTO'. You can override using the
## `.groups` argument.
#Juntar positivos
names(positivos)
## [1] "FECHA_CORTE" "DEPARTAMENTO" "PROVINCIA"
## [4] "DISTRITO" "posi.METODODX" "posi.EDAD"
## [7] "posi.SEXO" "posi.FECHA_RESULTADO" "posi.UBIGEO"
## [10] "posi.id_persona"
str(positivos)
## 'data.frame': 1022620 obs. of 10 variables:
## $ FECHA_CORTE : int 20241203 20241203 20241203 20241203 20241203 20241203 20241203 20241203 20241203 20241203 ...
## $ DEPARTAMENTO : chr "TUMBES" "TUMBES" "SAN MARTIN" "PIURA" ...
## $ PROVINCIA : chr "ZARUMILLA" "ZARUMILLA" "SAN MARTIN" "SULLANA" ...
## $ DISTRITO : chr "AGUAS VERDES" "ZARUMILLA" "TARAPOTO" "IGNACIO ESCUDERO" ...
## $ posi.METODODX : chr "AG" "AG" "AG" "AG" ...
## $ posi.EDAD : int 52 42 48 43 42 83 47 55 51 57 ...
## $ posi.SEXO : chr "MASCULINO" "FEMENINO" "MASCULINO" "FEMENINO" ...
## $ posi.FECHA_RESULTADO: int 20201229 20201229 20201230 20201216 20201230 20201230 20201218 20201212 20201230 20201229 ...
## $ posi.UBIGEO : int 240302 240301 220901 200603 200603 220901 200603 200801 200603 230101 ...
## $ posi.id_persona : int 233066 307679 301845 1063754 909317 524671 924272 716456 775082 126119 ...
#Crear variable masculino y femenino
positivos$posi.Sexo_real <- ifelse(positivos$posi.SEXO == "MASCULINO", 1, -1)
positivos$posi.MASCULINO <- ifelse(positivos$posi.Sexo_real == 1, 1, NA)
positivos$posi.FEMENINO <- ifelse(positivos$posi.Sexo_real == -1, -1, NA)
#Crear variable que contabilice el total
positivos$posi.CANTIDAD <- ifelse(positivos$posi.SEXO == "MASCULINO", 1, ifelse(positivos$posi.SEXO == "FEMENINO", 1, NA))
str(positivos)
## 'data.frame': 1022620 obs. of 14 variables:
## $ FECHA_CORTE : int 20241203 20241203 20241203 20241203 20241203 20241203 20241203 20241203 20241203 20241203 ...
## $ DEPARTAMENTO : chr "TUMBES" "TUMBES" "SAN MARTIN" "PIURA" ...
## $ PROVINCIA : chr "ZARUMILLA" "ZARUMILLA" "SAN MARTIN" "SULLANA" ...
## $ DISTRITO : chr "AGUAS VERDES" "ZARUMILLA" "TARAPOTO" "IGNACIO ESCUDERO" ...
## $ posi.METODODX : chr "AG" "AG" "AG" "AG" ...
## $ posi.EDAD : int 52 42 48 43 42 83 47 55 51 57 ...
## $ posi.SEXO : chr "MASCULINO" "FEMENINO" "MASCULINO" "FEMENINO" ...
## $ posi.FECHA_RESULTADO: int 20201229 20201229 20201230 20201216 20201230 20201230 20201218 20201212 20201230 20201229 ...
## $ posi.UBIGEO : int 240302 240301 220901 200603 200603 220901 200603 200801 200603 230101 ...
## $ posi.id_persona : int 233066 307679 301845 1063754 909317 524671 924272 716456 775082 126119 ...
## $ posi.Sexo_real : num 1 -1 1 -1 -1 -1 -1 1 1 1 ...
## $ posi.MASCULINO : num 1 NA 1 NA NA NA NA 1 1 1 ...
## $ posi.FEMENINO : num NA -1 NA -1 -1 -1 -1 NA NA NA ...
## $ posi.CANTIDAD : num 1 1 1 1 1 1 1 1 1 1 ...
positivos <- positivos %>%
group_by(DEPARTAMENTO, PROVINCIA) %>%
summarise(
posi.EDAD_MEDIA = mean(posi.EDAD, na.rm = TRUE),
posi.MASCULINO = sum(posi.MASCULINO, na.rm = TRUE),
posi.FEMENINO = sum(posi.FEMENINO, na.rm = TRUE),
posi.CANTIDAD = sum(posi.CANTIDAD, na.rm = TRUE)
)
## `summarise()` has grouped output by 'DEPARTAMENTO'. You can override using the
## `.groups` argument.
positivos$posi.FEMENINO <- abs(positivos$posi.FEMENINO)
#Juntar fallecidos
names(fallecidos)
## [1] "falle.FECHA_CORTE" "falle.FECHA_FALLECIMIENTO"
## [3] "falle.EDAD_DECLARADA" "falle.SEXO"
## [5] "falle.CLASIFICACION_DEF" "DEPARTAMENTO"
## [7] "PROVINCIA" "DISTRITO"
## [9] "UBIGEO" "UUID"
str(fallecidos)
## 'data.frame': 95331 obs. of 10 variables:
## $ falle.FECHA_CORTE : int 20240317 20240317 20240317 20240317 20240317 20240317 20240317 20240317 20240317 20240317 ...
## $ falle.FECHA_FALLECIMIENTO: int 20200711 20200505 20200803 20200622 20200626 20200829 20200531 20200605 20200707 20200519 ...
## $ falle.EDAD_DECLARADA : int 64 50 92 56 85 72 92 85 69 81 ...
## $ falle.SEXO : chr "MASCULINO" "MASCULINO" "FEMENINO" "MASCULINO" ...
## $ falle.CLASIFICACION_DEF : chr "Criterio SINADEF" "Criterio investigación Epidemiológica" "Criterio SINADEF" "Criterio investigación Epidemiológica" ...
## $ DEPARTAMENTO : chr "LIMA" "LORETO" "MADRE DE DIOS" "SAN MARTIN" ...
## $ PROVINCIA : chr "LIMA" "MARISCAL RAMON CASTILLA" "TAMBOPATA" "BELLAVISTA" ...
## $ DISTRITO : chr "LOS OLIVOS" "YAVARI" "INAMBARI" "BELLAVISTA" ...
## $ UBIGEO : int 150117 160403 170102 220201 220901 200401 150117 220201 170101 240203 ...
## $ UUID : int 846252 278625 846841 204560 297348 1016628 1060380 226494 853580 216926 ...
#Crear variable masculino y femenino
fallecidos$falle.Sexo_real <- ifelse(fallecidos$falle.SEXO == "MASCULINO", 1, -1)
fallecidos$falle.MASCULINO <- ifelse(fallecidos$falle.Sexo_real == 1, 1, NA)
fallecidos$falle.FEMENINO <- ifelse(fallecidos$falle.Sexo_real == -1, -1, NA)
#Crear variable que contabilice el total
fallecidos$falle.CANTIDAD <- ifelse(fallecidos$falle.SEXO == "MASCULINO", 1, ifelse(fallecidos$falle.SEXO == "FEMENINO", 1, NA))
str(fallecidos)
## 'data.frame': 95331 obs. of 14 variables:
## $ falle.FECHA_CORTE : int 20240317 20240317 20240317 20240317 20240317 20240317 20240317 20240317 20240317 20240317 ...
## $ falle.FECHA_FALLECIMIENTO: int 20200711 20200505 20200803 20200622 20200626 20200829 20200531 20200605 20200707 20200519 ...
## $ falle.EDAD_DECLARADA : int 64 50 92 56 85 72 92 85 69 81 ...
## $ falle.SEXO : chr "MASCULINO" "MASCULINO" "FEMENINO" "MASCULINO" ...
## $ falle.CLASIFICACION_DEF : chr "Criterio SINADEF" "Criterio investigación Epidemiológica" "Criterio SINADEF" "Criterio investigación Epidemiológica" ...
## $ DEPARTAMENTO : chr "LIMA" "LORETO" "MADRE DE DIOS" "SAN MARTIN" ...
## $ PROVINCIA : chr "LIMA" "MARISCAL RAMON CASTILLA" "TAMBOPATA" "BELLAVISTA" ...
## $ DISTRITO : chr "LOS OLIVOS" "YAVARI" "INAMBARI" "BELLAVISTA" ...
## $ UBIGEO : int 150117 160403 170102 220201 220901 200401 150117 220201 170101 240203 ...
## $ UUID : int 846252 278625 846841 204560 297348 1016628 1060380 226494 853580 216926 ...
## $ falle.Sexo_real : num 1 1 -1 1 1 1 1 1 -1 1 ...
## $ falle.MASCULINO : num 1 1 NA 1 1 1 1 1 NA 1 ...
## $ falle.FEMENINO : num NA NA -1 NA NA NA NA NA -1 NA ...
## $ falle.CANTIDAD : num 1 1 1 1 1 1 1 1 1 1 ...
fallecidos <- fallecidos %>%
group_by(DEPARTAMENTO, PROVINCIA) %>%
summarise(
falle.EDAD_DECLARADA_MEDIA = mean(falle.EDAD_DECLARADA, na.rm = TRUE),
falle.MASCULINO = sum(falle.MASCULINO, na.rm = TRUE),
falle.FEMENINO = sum(falle.FEMENINO, na.rm = TRUE),
falle.CANTIDAD = sum(falle.CANTIDAD, na.rm = TRUE)
)
## `summarise()` has grouped output by 'DEPARTAMENTO'. You can override using the
## `.groups` argument.
fallecidos$falle.FEMENINO <- abs(fallecidos$falle.FEMENINO)
###MERGE AHORA SÍ
data_final <- merge(merge(merge(censo, elecciones, by = "PROVINCIA", all = FALSE), positivos, by = "PROVINCIA", all = FALSE), fallecidos, by = "PROVINCIA", all = FALSE)
## Warning in merge.data.frame(merge(merge(censo, elecciones, by = "PROVINCIA", :
## column names 'DEPARTAMENTO.x', 'DEPARTAMENTO.y' are duplicated in the result
names(data_final)
## [1] "PROVINCIA"
## [2] "Código"
## [3] "GENERAL"
## [4] "DEPARTAMENTO.x"
## [5] "pa.Ladrillo o bloque de cemento"
## [6] "pa.Piedra o sillar con cal o cemento"
## [7] "pa.Adobe"
## [8] "pa.Tapia"
## [9] "pa.Quincha (caña con barro)"
## [10] "pa.Piedra con barro"
## [11] "pa.Madera (pona, tornillo etc.)"
## [12] "pa.Triplay / calamina / estera"
## [13] "pa.Otro material"
## [14] "pa.Total"
## [15] "te.Concreto armado"
## [16] "te.Madera"
## [17] "te.Tejas"
## [18] "te.Planchas de calamina, fibra de cemento o similares"
## [19] "te.Caña o estera con torta de barro o cemento"
## [20] "te.Triplay / estera / carrizo"
## [21] "te.Paja, hoja de palmera y similares"
## [22] "te.Otro material.1"
## [23] "te.Total.1"
## [24] "pi.Parquet o madera pulida"
## [25] "pi.Láminas asfálticas, vinílicos o similares"
## [26] "pi.Losetas, terrazos, cerámicos o similares"
## [27] "pi.Madera (pona, tornillo, etc.)"
## [28] "pi.Cemento"
## [29] "pi.Tierra"
## [30] "pi.Otro material.2"
## [31] "pi.Total.2"
## [32] "a.Red pública dentro de la vivienda"
## [33] "a.Red pública fuera de la vivienda, pero dentro de la edificación"
## [34] "a.Pilón o pileta de uso público"
## [35] "a.Camión - cisterna u otro similar"
## [36] "a.Pozo (agua subterránea)"
## [37] "a.Manantial o puquio"
## [38] "a.Río, acequia, lago, laguna"
## [39] "a.Otro"
## [40] "a.Vecino"
## [41] "a.Total.3"
## [42] "luz.Sí tiene alumbrado eléctrico"
## [43] "luz.No tiene alumbrado eléctrico"
## [44] "luz.Total.4"
## [45] "DEPARTAMENTO.y"
## [46] "ELEC.N_CVAS"
## [47] "ELEC.N_ELEC_HABIL"
## [48] "ELEC.VOTOS_PL"
## [49] "ELEC.VOTOS_FP"
## [50] "ELEC.VOTOS_VB"
## [51] "ELEC.VOTOS_VN"
## [52] "ELEC.VOTOS_VI"
## [53] "DEPARTAMENTO.x"
## [54] "posi.EDAD_MEDIA"
## [55] "posi.MASCULINO"
## [56] "posi.FEMENINO"
## [57] "posi.CANTIDAD"
## [58] "DEPARTAMENTO.y"
## [59] "falle.EDAD_DECLARADA_MEDIA"
## [60] "falle.MASCULINO"
## [61] "falle.FEMENINO"
## [62] "falle.CANTIDAD"
data_final <- data_final[, -c(2, 3, 45, 53, 58)]
str(data_final)
## 'data.frame': 195 obs. of 57 variables:
## $ PROVINCIA : chr "ABANCAY" "ACOBAMBA" "ACOMAYO" "AIJA" ...
## $ DEPARTAMENTO.x : chr "APURIMAC" "HUANCAVELICA" "CUSCO" "ANCASH" ...
## $ pa.Ladrillo o bloque de cemento : int 12592 434 100 15 9619 2576 8928 1638 1802 88 ...
## $ pa.Piedra o sillar con cal o cemento : int 59 12 5 1 46 24 20 41 8 9 ...
## $ pa.Adobe : int 19491 6872 6733 1763 441 2209 29596 4881 13436 3245 ...
## $ pa.Tapia : int 69 3749 19 70 49 9354 653 6739 44 6 ...
## $ pa.Quincha (caña con barro) : int 26 8 0 7 181 18 40 28 25 1 ...
## $ pa.Piedra con barro : int 61 124 34 65 92 84 456 562 87 608 ...
## $ pa.Madera (pona, tornillo etc.) : int 213 5 11 2 16859 71 285 22 75 6 ...
## $ pa.Triplay / calamina / estera : int 127 20 3 18 680 15 376 62 50 7 ...
## $ pa.Otro material : int 0 0 0 0 0 0 0 0 0 1 ...
## $ pa.Total : int 32638 11224 6905 1941 27967 14351 40354 13973 15527 3971 ...
## $ te.Concreto armado : int 10044 353 45 9 1380 1950 6918 1415 981 40 ...
## $ te.Madera : int 274 10 14 57 873 40 155 27 35 4 ...
## $ te.Tejas : int 11830 7830 6100 403 108 1051 12127 4901 10249 617 ...
## $ te.Planchas de calamina, fibra de cemento o similares : int 10037 2816 468 1297 19455 10716 19672 6457 3674 2655 ...
## $ te.Caña o estera con torta de barro o cemento : int 86 22 5 10 56 52 141 28 16 3 ...
## $ te.Triplay / estera / carrizo : int 47 20 2 17 138 20 77 54 19 5 ...
## $ te.Paja, hoja de palmera y similares : int 320 173 271 148 5957 522 1264 1091 553 646 ...
## $ te.Otro material.1 : int 0 0 0 0 0 0 0 0 0 1 ...
## $ te.Total.1 : int 32638 11224 6905 1941 27967 14351 40354 13973 15527 3971 ...
## $ pi.Parquet o madera pulida : int 239 6 1 0 26 27 249 34 35 0 ...
## $ pi.Láminas asfálticas, vinílicos o similares : int 243 1 0 0 66 19 94 13 14 0 ...
## $ pi.Losetas, terrazos, cerámicos o similares : int 3212 70 7 4 1371 360 1339 171 219 5 ...
## $ pi.Madera (pona, tornillo, etc.) : int 902 224 86 24 3653 175 462 355 214 54 ...
## $ pi.Cemento : int 13886 1148 699 195 9611 4216 8227 2589 2900 371 ...
## $ pi.Tierra : int 14156 9775 6112 1718 13240 9554 29983 10811 12145 3541 ...
## $ pi.Otro material.2 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ pi.Total.2 : int 32638 11224 6905 1941 27967 14351 40354 13973 15527 3971 ...
## $ a.Red pública dentro de la vivienda : int 22261 6817 4808 1451 13116 6386 23858 6813 7829 1148 ...
## $ a.Red pública fuera de la vivienda, pero dentro de la edificación: int 7189 1671 987 42 849 2775 12147 3782 5211 1797 ...
## $ a.Pilón o pileta de uso público : int 1152 734 270 10 331 1853 1435 692 606 131 ...
## $ a.Camión - cisterna u otro similar : int 5 2 0 0 191 30 15 132 8 0 ...
## $ a.Pozo (agua subterránea) : int 1053 1177 359 230 7725 1607 1602 1403 1048 561 ...
## $ a.Manantial o puquio : int 348 626 157 121 148 508 582 660 425 170 ...
## $ a.Río, acequia, lago, laguna : int 509 99 266 76 5460 1084 335 424 227 120 ...
## $ a.Otro : int 29 7 21 2 111 41 90 33 67 10 ...
## $ a.Vecino : int 92 91 37 9 36 67 290 34 106 34 ...
## $ a.Total.3 : int 32638 11224 6905 1941 27967 14351 40354 13973 15527 3971 ...
## $ luz.Sí tiene alumbrado eléctrico : int 29588 8968 5364 1528 20021 10364 31916 9529 12663 2736 ...
## $ luz.No tiene alumbrado eléctrico : int 3050 2256 1541 413 7946 3987 8438 4444 2864 1235 ...
## $ luz.Total.4 : int 32638 11224 6905 1941 27967 14351 40354 13973 15527 3971 ...
## $ ELEC.N_CVAS : int 62172 23033 14343 3945 57791 30293 83607 26683 37641 6038 ...
## $ ELEC.N_ELEC_HABIL : int 82538 33498 19229 5817 90033 43046 113295 37599 48975 9274 ...
## $ ELEC.VOTOS_PL : int 43244 19060 12645 2325 37196 19053 65475 22351 31243 4797 ...
## $ ELEC.VOTOS_FP : int 15012 2817 952 1413 16652 9102 13578 2826 4173 910 ...
## $ ELEC.VOTOS_VB : int 498 215 168 41 505 337 848 338 376 63 ...
## $ ELEC.VOTOS_VN : int 3418 941 578 166 3438 1801 3706 1168 1849 268 ...
## $ ELEC.VOTOS_VI : int 0 0 0 0 0 0 0 0 0 0 ...
## $ posi.EDAD_MEDIA : num 39.7 35.3 38.1 39.9 38.9 ...
## $ posi.MASCULINO : num 2060 287 75 48 1356 ...
## $ posi.FEMENINO : num 2211 373 66 31 1090 ...
## $ posi.CANTIDAD : num 4271 660 141 79 2446 ...
## $ falle.EDAD_DECLARADA_MEDIA : num 67.2 70.7 72.5 77.5 62.8 ...
## $ falle.MASCULINO : num 95 30 10 2 158 24 56 42 37 6 ...
## $ falle.FEMENINO : num 65 11 12 0 98 22 43 21 27 2 ...
## $ falle.CANTIDAD : num 160 41 22 2 256 46 99 63 64 8 ...
data_final <- data_final %>% rename("DEPARTAMENTO" = "DEPARTAMENTO.x")
###Descargamos base de datos
write.csv(data_final,"data_final.csv",row.names = F)