# carga preliminar de las librerías
library(tidyverse)## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.0 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.2 ✔ tibble 3.1.8
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
Carga de los datos
library(xlsx)
# importando
datos <- read.xlsx2("data/mdp_conflictos.xlsx",sheetIndex=1)count(datos)## n
## 1 4529
columnas <- length(datos)
columnas## [1] 43
# cambiando tipos
datos <- datos %>%
mutate(año = as.integer(año), dia = as.integer(dia))
head(datos)## id_evento id_evento_relacionado año mes dia trimestre
## 1 1990001 1990 DICIEMBRE 3 1990q4
## 2 1990002 1990 NOVIEMBRE 22 1990q4
## 3 1990003 1990 OCTUBRE 17 1990q4
## 4 1990004 1991001 1991 ENERO 2 1991q1
## 5 1990005 1991001 1991 ENERO 2 1991q1
## 6 1990006 1991 MARZO 4 1991q1
## fecha_reportada comuna provincia region
## 1 LA FECHA NO SE ESPECIFICA CONTULMO ARAUCO BIO-BIO
## 2 LA FECHA NO SE ESPECIFICA LONQUIMAY MALLECO ARAUCANIA
## 3 LA FECHA NO SE ESPECIFICA SANTIAGO SANTIAGO METROPOLITANA DE SANTIAGO
## 4 LA FECHA NO SE ESPECIFICA LONQUIMAY MALLECO ARAUCANIA
## 5 LA FECHA NO SE ESPECIFICA LONQUIMAY MALLECO ARAUCANIA
## 6 LA FECHA NO SE ESPECIFICA CAÑETE ARAUCO BIO-BIO
## ubicacion_tipo rural evento_tipo_maceda
## 1 CAMINO RURAL PROTESTA
## 2 FUNDO RURAL PROTESTA
## 3 IGLESIA URBANO PROTESTA
## 4 FUNDO RURAL OCUPACION DE TIERRAS
## 5 FUNDO RURAL COERCION
## 6 TIERRAS NO ESPECIFICADO RURAL OCUPACION DE TIERRAS
## evento_especifico actor_tipo_1
## 1 OBSTRUCCION DEL PASO (DIFERENTE DE CAMINO) COMUNIDAD
## 2 OBSTRUCCION DEL PASO (DIFERENTE DE CAMINO) COMUNIDAD
## 3 OCUPACION DE PROPIEDAD PRIVADA (DIFERENTE A TIERRAS) ORGANIZACION MAPUCHE
## 4 OCUPACION DE TIERRAS PACIFICA COMUNIDAD
## 5 DESALOJO COMUNIDAD
## 6 OCUPACION DE TIERRAS PACIFICA OTROS MAPUCHE
## actor_tipo_1_nombre actor_especifico_1 actor_especifico_1_num
## 1 MIEMBROS DE LA COMUNIDAD
## 2 QUINQUEN MIEMBROS DE LA COMUNIDAD
## 3 MELI WIXAN MAPU MIEMBROS DE LA ORGANIZACION
## 4 QUINQUEN MIEMBROS DE LA COMUNIDAD
## 5 QUINQUEN MIEMBROS DE LA COMUNIDAD
## 6 GRUPO IDENTIFICABLE
## actor_especifico_1_armas actor_relacionado_1
## 1 NO SE MENCIONA PC
## 2 NO SE MENCIONA
## 3 NO SE MENCIONA
## 4 NO SE MENCIONA
## 5 NO SE MENCIONA
## 6 NO SE MENCIONA AD-MAPU;PC
## actor_tipo_2 actor_tipo_2_nombre
## 1 EMPRESA FORESTAL
## 2 PRIVADOS DUEÑOS DE TIERRAS
## 3 ORGANIZACION NO MAPUCHE - IGLESIA IGLESIA SAN FRANCISCO (IGLESIA CATOLICA)
## 4 PRIVADOS DUEÑOS DE TIERRAS
## 5 ESTADO
## 6 PRIVADOS DUEÑOS DE TIERRAS
## actor_especifico_2 actor_especifico_2_num actor_especifico_2_armas
## 1 TRABAJADORES 150 NO SE MENCIONA
## 2 TRABAJADORES NO SE MENCIONA
## 3
## 4
## 5 CARABINEROS NO SE MENCIONA
## 6
## actor_relacionado_2 actor_mapuche mapuche_identificado
## 1 SOLO EL ACTOR 1 ES MAPUCHE SI
## 2 SOLO EL ACTOR 1 ES MAPUCHE SI
## 3 SOLO EL ACTOR 1 ES MAPUCHE SI
## 4 SOLO EL ACTOR 1 ES MAPUCHE SI
## 5 PRIVADOS DUEÑOS DE TIERRAS SOLO EL ACTOR 1 ES MAPUCHE SI
## 6 SOLO EL ACTOR 1 ES MAPUCHE SI
## confrontacion iniciador
## 1 NO ACTOR 1
## 2 NO ACTOR 1
## 3 NO ACTOR 1
## 4 NO ACTOR 1
## 5 NO ACTOR 2
## 6 NO ACTOR 1
## descripcion
## 1 COMUNIDADES MAPUCHE SE MANIFESTARON BLOQUEANDO CAMINOS E IMPIDIENDO LA EXPLOTACION FORESTAL DE PARTE DE 150 TRABAJADORES EN CONTULMO
## 2 PEHUENCHES BLOQUEAN CAMINOS DE ACCESO AL FUNDO QUINQUEN PARA IMPEDIR QUE LOS DUEÑOS SAQUEN CAMIONADAS DE ARAUCARIAS TALADAS, EL FUNDO TIENE UN LITIGIO PENDIENTE
## 3 PARA LOGRAR ENTREVISTA CON LOS REYES DE ESPAÑA, LA CORDINADORA METROPOLITANA DE PUEBLOS INDIGENAS OCUPO PACIFICAMENTE LA IGLESIA SAN FRANCISCO
## 4 UN GRUPO DE PEHUENCHES DE LA COMUNIDAD QUINQUEN OCUPARON PARTE DEL FUNDO GALLETUE
## 5 CARABINEROS DESALOJO A UN GRUPO DE PEHUENCHES QUE OCUPABA EL FUNDO GALLETUE, HUBO 2 DETENIDOS
## 6 MAPUCHE PROTAGONIZAN OCUPACIONES DE TERRENOS EN CAÑETE, AUTORIDADES SEÑALAN QUE ESTAN INDUCIDOS POR EL PC Y AD MAPU
## propiedad_destruida propiedad_dañada propiedad_robada perdida_estimada
## 1
## 2
## 3
## 4
## 5
## 6
## arrestos heridos muertos mercurio mella osal ciudadano biobio
## 1 SI SI NO NO NO
## 2 SI SI NO NO NO
## 3 NO SI NO NO NO
## 4 SI SI NO NO NO
## 5 2 SI SI NO NO NO
## 6 SI SI NO NO NO
glimpse(datos)## Rows: 4,529
## Columns: 43
## $ id_evento <chr> "1990001", "1990002", "1990003", "1990004", "…
## $ id_evento_relacionado <chr> "", "", "", "1991001", "1991001", "", "", "",…
## $ año <int> 1990, 1990, 1990, 1991, 1991, 1991, 1991, 199…
## $ mes <chr> "DICIEMBRE", "NOVIEMBRE", "OCTUBRE", "ENERO",…
## $ dia <int> 3, 22, 17, 2, 2, 4, 15, 5, 12, 12, 12, 15, 16…
## $ trimestre <chr> "1990q4", "1990q4", "1990q4", "1991q1", "1991…
## $ fecha_reportada <chr> "LA FECHA NO SE ESPECIFICA", "LA FECHA NO SE …
## $ comuna <chr> "CONTULMO", "LONQUIMAY", "SANTIAGO", "LONQUIM…
## $ provincia <chr> "ARAUCO", "MALLECO", "SANTIAGO", "MALLECO", "…
## $ region <chr> "BIO-BIO", "ARAUCANIA", "METROPOLITANA DE SAN…
## $ ubicacion_tipo <chr> "CAMINO", "FUNDO", "IGLESIA", "FUNDO", "FUNDO…
## $ rural <chr> "RURAL", "RURAL", "URBANO", "RURAL", "RURAL",…
## $ evento_tipo_maceda <chr> "PROTESTA", "PROTESTA", "PROTESTA", "OCUPACIO…
## $ evento_especifico <chr> "OBSTRUCCION DEL PASO (DIFERENTE DE CAMINO)",…
## $ actor_tipo_1 <chr> "COMUNIDAD", "COMUNIDAD", "ORGANIZACION MAPUC…
## $ actor_tipo_1_nombre <chr> "", "QUINQUEN", "MELI WIXAN MAPU", "QUINQUEN"…
## $ actor_especifico_1 <chr> "MIEMBROS DE LA COMUNIDAD", "MIEMBROS DE LA C…
## $ actor_especifico_1_num <chr> "", "", "", "", "", "", "50", "2", "", "5", "…
## $ actor_especifico_1_armas <chr> "NO SE MENCIONA", "NO SE MENCIONA", "NO SE ME…
## $ actor_relacionado_1 <chr> "PC", "", "", "", "", "AD-MAPU;PC", "", "", "…
## $ actor_tipo_2 <chr> "EMPRESA FORESTAL", "PRIVADOS DUE√ëOS DE TIER…
## $ actor_tipo_2_nombre <chr> "", "", "IGLESIA SAN FRANCISCO (IGLESIA CATOL…
## $ actor_especifico_2 <chr> "TRABAJADORES", "TRABAJADORES", "", "", "CARA…
## $ actor_especifico_2_num <chr> "150", "", "", "", "", "", "", "", "", "", ""…
## $ actor_especifico_2_armas <chr> "NO SE MENCIONA", "NO SE MENCIONA", "", "", "…
## $ actor_relacionado_2 <chr> "", "", "", "", "PRIVADOS DUE√ëOS DE TIERRAS"…
## $ actor_mapuche <chr> "SOLO EL ACTOR 1 ES MAPUCHE", "SOLO EL ACTOR …
## $ mapuche_identificado <chr> "SI", "SI", "SI", "SI", "SI", "SI", "SI", "SI…
## $ confrontacion <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO…
## $ iniciador <chr> "ACTOR 1", "ACTOR 1", "ACTOR 1", "ACTOR 1", "…
## $ descripcion <chr> "COMUNIDADES MAPUCHE SE MANIFESTARON BLOQUEAN…
## $ propiedad_destruida <chr> "", "", "", "", "", "", "", "", "", "", "", "…
## $ propiedad_dañada <chr> "", "", "", "", "", "", "", "", "", "", "DA√ë…
## $ propiedad_robada <chr> "", "", "", "", "", "", "", "", "", "", "", "…
## $ perdida_estimada <chr> "", "", "", "", "", "", "", "", "", "", "", "…
## $ arrestos <chr> "", "", "", "", "2", "", "", "", "6", "5", ""…
## $ heridos <chr> "", "", "", "", "", "", "", "", "", "", "2", …
## $ muertos <chr> "", "", "", "", "", "", "", "", "", "", "", "…
## $ mercurio <chr> "SI", "SI", "NO", "SI", "SI", "SI", "SI", "SI…
## $ mella <chr> "SI", "SI", "SI", "SI", "SI", "SI", "NO", "NO…
## $ osal <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO…
## $ ciudadano <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO…
## $ biobio <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO…
Qué representa cada columna
Cuál es el objetivo de los datos
Cuántos valores faltantes hay? por columna
# reemplazando el valor "" por NA
datos[datos == ""] <- NA
# revisando
glimpse(datos)## Rows: 4,529
## Columns: 43
## $ id_evento <chr> "1990001", "1990002", "1990003", "1990004", "…
## $ id_evento_relacionado <chr> NA, NA, NA, "1991001", "1991001", NA, NA, NA,…
## $ año <int> 1990, 1990, 1990, 1991, 1991, 1991, 1991, 199…
## $ mes <chr> "DICIEMBRE", "NOVIEMBRE", "OCTUBRE", "ENERO",…
## $ dia <int> 3, 22, 17, 2, 2, 4, 15, 5, 12, 12, 12, 15, 16…
## $ trimestre <chr> "1990q4", "1990q4", "1990q4", "1991q1", "1991…
## $ fecha_reportada <chr> "LA FECHA NO SE ESPECIFICA", "LA FECHA NO SE …
## $ comuna <chr> "CONTULMO", "LONQUIMAY", "SANTIAGO", "LONQUIM…
## $ provincia <chr> "ARAUCO", "MALLECO", "SANTIAGO", "MALLECO", "…
## $ region <chr> "BIO-BIO", "ARAUCANIA", "METROPOLITANA DE SAN…
## $ ubicacion_tipo <chr> "CAMINO", "FUNDO", "IGLESIA", "FUNDO", "FUNDO…
## $ rural <chr> "RURAL", "RURAL", "URBANO", "RURAL", "RURAL",…
## $ evento_tipo_maceda <chr> "PROTESTA", "PROTESTA", "PROTESTA", "OCUPACIO…
## $ evento_especifico <chr> "OBSTRUCCION DEL PASO (DIFERENTE DE CAMINO)",…
## $ actor_tipo_1 <chr> "COMUNIDAD", "COMUNIDAD", "ORGANIZACION MAPUC…
## $ actor_tipo_1_nombre <chr> NA, "QUINQUEN", "MELI WIXAN MAPU", "QUINQUEN"…
## $ actor_especifico_1 <chr> "MIEMBROS DE LA COMUNIDAD", "MIEMBROS DE LA C…
## $ actor_especifico_1_num <chr> NA, NA, NA, NA, NA, NA, "50", "2", NA, "5", N…
## $ actor_especifico_1_armas <chr> "NO SE MENCIONA", "NO SE MENCIONA", "NO SE ME…
## $ actor_relacionado_1 <chr> "PC", NA, NA, NA, NA, "AD-MAPU;PC", NA, NA, "…
## $ actor_tipo_2 <chr> "EMPRESA FORESTAL", "PRIVADOS DUE√ëOS DE TIER…
## $ actor_tipo_2_nombre <chr> NA, NA, "IGLESIA SAN FRANCISCO (IGLESIA CATOL…
## $ actor_especifico_2 <chr> "TRABAJADORES", "TRABAJADORES", NA, NA, "CARA…
## $ actor_especifico_2_num <chr> "150", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ actor_especifico_2_armas <chr> "NO SE MENCIONA", "NO SE MENCIONA", NA, NA, "…
## $ actor_relacionado_2 <chr> NA, NA, NA, NA, "PRIVADOS DUE√ëOS DE TIERRAS"…
## $ actor_mapuche <chr> "SOLO EL ACTOR 1 ES MAPUCHE", "SOLO EL ACTOR …
## $ mapuche_identificado <chr> "SI", "SI", "SI", "SI", "SI", "SI", "SI", "SI…
## $ confrontacion <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO…
## $ iniciador <chr> "ACTOR 1", "ACTOR 1", "ACTOR 1", "ACTOR 1", "…
## $ descripcion <chr> "COMUNIDADES MAPUCHE SE MANIFESTARON BLOQUEAN…
## $ propiedad_destruida <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ propiedad_dañada <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "DA√ë…
## $ propiedad_robada <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ perdida_estimada <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ arrestos <chr> NA, NA, NA, NA, "2", NA, NA, NA, "6", "5", NA…
## $ heridos <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "2", …
## $ muertos <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ mercurio <chr> "SI", "SI", "NO", "SI", "SI", "SI", "SI", "SI…
## $ mella <chr> "SI", "SI", "SI", "SI", "SI", "SI", "NO", "NO…
## $ osal <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO…
## $ ciudadano <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO…
## $ biobio <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO…
# 1. modo simple ( hay valores)
map_dbl(datos, .f = function(x){sum(is.na(x))})## id_evento id_evento_relacionado año
## 0 2980 0
## mes dia trimestre
## 0 0 0
## fecha_reportada comuna provincia
## 0 54 54
## region ubicacion_tipo rural
## 17 0 54
## evento_tipo_maceda evento_especifico actor_tipo_1
## 0 0 0
## actor_tipo_1_nombre actor_especifico_1 actor_especifico_1_num
## 2834 22 2787
## actor_especifico_1_armas actor_relacionado_1 actor_tipo_2
## 22 4280 0
## actor_tipo_2_nombre actor_especifico_2 actor_especifico_2_num
## 3138 2242 3951
## actor_especifico_2_armas actor_relacionado_2 actor_mapuche
## 2242 3874 0
## mapuche_identificado confrontacion iniciador
## 0 0 0
## descripcion propiedad_destruida propiedad_dañada
## 0 3260 4186
## propiedad_robada perdida_estimada arrestos
## 4406 4364 3926
## heridos muertos mercurio
## 4094 4486 40
## mella osal ciudadano
## 19 5 2
## biobio
## 1
# que porcentaje de valores ausente existen
perdidos <- function(x) {sum(is.na(x)) / length(x)*100}
# calculo por columna
apply(datos,2, perdidos)## id_evento id_evento_relacionado año
## 0.00000000 65.79818945 0.00000000
## mes dia trimestre
## 0.00000000 0.00000000 0.00000000
## fecha_reportada comuna provincia
## 0.00000000 1.19231618 1.19231618
## region ubicacion_tipo rural
## 0.37535880 0.00000000 1.19231618
## evento_tipo_maceda evento_especifico actor_tipo_1
## 0.00000000 0.00000000 0.00000000
## actor_tipo_1_nombre actor_especifico_1 actor_especifico_1_num
## 62.57451976 0.48575845 61.53676308
## actor_especifico_1_armas actor_relacionado_1 actor_tipo_2
## 0.48575845 94.50209759 0.00000000
## actor_tipo_2_nombre actor_especifico_2 actor_especifico_2_num
## 69.28681828 49.50320159 87.23780084
## actor_especifico_2_armas actor_relacionado_2 actor_mapuche
## 49.50320159 85.53764628 0.00000000
## mapuche_identificado confrontacion iniciador
## 0.00000000 0.00000000 0.00000000
## descripcion propiedad_destruida propiedad_dañada
## 0.00000000 71.98056966 92.42658423
## propiedad_robada perdida_estimada arrestos
## 97.28416869 96.35681166 86.68580261
## heridos muertos mercurio
## 90.39523074 99.05056304 0.88319717
## mella osal ciudadano
## 0.41951866 0.11039965 0.04415986
## biobio
## 0.02207993
library(visdat) # visualización de datos
library(naniar)
vis_dat(datos)## Warning: `gather_()` was deprecated in tidyr 1.2.0.
## ℹ Please use `gather()` instead.
## ℹ The deprecated feature was likely used in the visdat package.
## Please report the issue at <https://github.com/ropensci/visdat/issues>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Determinación del porcentaje de datos perdidos.
vis_miss(datos ,sort_miss = TRUE)# cluster agrupa los datos faltantes
vis_miss(datos ,sort_miss = TRUE, cluster = TRUE)Deshagamosnos de las columnas con muchos datos faltantes.
datos <- datos %>%
select(-propiedad_dañada, -propiedad_destruida, -propiedad_robada, -arrestos, -heridos, -muertos, -actor_tipo_1_nombre, -actor_tipo_2_nombre, actor_relacionado_1, -actor_tipo_1_nombre)vis_miss(datos ,sort_miss = TRUE, cluster = TRUE)Tarea: Crear una nueva columna fecha basados en los campos año, mes y dia. este nuevo campo debe ser de tipo fecha (date)