Los datos que vamos a analizar provienen del VI Censo Nacional de Comisarías realizado en el año 2017 por el Instituto Nacional de Estadística e Informática. El objetivo primordial de dicho censo fue conocer mejor la infraestructura y equipamiento con el que cuentan los locales donde funcionan las Comisarías de la Policía Nacional del Perú. Entre las principales características a evaluar fueron:
Pueden conocer más sobre el ánalisis final de este censo en la publicación oficial del INEI: PERÚ: VI CENSO NACIONAL DE COMISARÍAS 2017, Resultados Definitivos.
El archivo con la información descargada del INEI se encuentra en la carpeta datos y tiene por nombre CensoComisarias.sav. El formato de este archivo corresponde a bases de datos registradas en el software SPSS, por lo que, se debe importar al R haciendo uso del paquete foreign.
# install.packages("foreign")
library(foreign)
datos <- read.spss("../datos/CensoComisarias.sav", to.data.frame=TRUE)
Veamos cuanta información tenemos,
dim(datos)
## [1] 1495 280
Existen 1495 registros y 280 variables.
Ahora, veamos un pequeño extracto de los datos.
datos[1:5, 4:6]
## NOMBREDI INF109 INF109A
## 1 RUPA-RUPA De 40001 - 80000 Hab Distrital
## 2 MARIANO DAMASO BERAUN De 5000 - 10000 Hab Distrital
## 3 JOSE CRESPO Y CASTILLO De 20001 - 40000 Hab Distrital
## 4 TOCACHE De 5000 - 10000 Hab Provincial
## 5 NUEVO PROGRESO De 5000 - 10000 Hab Distrital
knitr::kable(datos[1:5, 4:6])
| NOMBREDI | INF109 | INF109A |
|---|---|---|
| RUPA-RUPA | De 40001 - 80000 Hab | Distrital |
| MARIANO DAMASO BERAUN | De 5000 - 10000 Hab | Distrital |
| JOSE CRESPO Y CASTILLO | De 20001 - 40000 Hab | Distrital |
| TOCACHE | De 5000 - 10000 Hab | Provincial |
| NUEVO PROGRESO | De 5000 - 10000 Hab | Distrital |
cuadro1 <- as.data.frame(table(datos$INF109))
cuadro2 <- as.data.frame(prop.table(table(datos$INF109)))
names(cuadro1) <- c("Categoría", "Frecuencia")
cuadro1$Porcentaje <- cuadro2$Freq
knitr::kable(cuadro1)
| Categoría | Frecuencia | Porcentaje |
|---|---|---|
| Menos de 5000 Hab | 288 | 0.1926421 |
| De 5000 - 10000 Hab | 329 | 0.2200669 |
| De 10001 - 20000 Hab | 290 | 0.1939799 |
| De 20001 - 40000 Hab | 248 | 0.1658863 |
| De 40001 - 80000 Hab | 196 | 0.1311037 |
| De 80001 a más Hab | 144 | 0.0963211 |
El siguiente gráfico interactivo es gracias a la función ggplotly del paquete plotly. Puedes revisar más aquí https://plot.ly/r/.
library(ggplot2)
graf1 <- ggplot(datos, mapping = aes(x = INF109)) +
geom_bar() +
xlab("Habitantes") + ylab("Frecuencia") +
theme(axis.text.x = element_text(angle = 12))
# Gráfico Interactivo
library(plotly)
ggplotly(graf1)
Alcance de Jurisdicción de las Comisarías
knitr::kable(table(datos$INF109A), col.names = c("Categoría", "Frecuencia"))
| Categoría | Frecuencia |
|---|---|
| Nacional | 2 |
| Regional | 29 |
| Provincial | 139 |
| Distrital | 1241 |
| Otros | 84 |
library(ggplot2)
ggplot(datos, mapping = aes(x = INF109A)) +
geom_bar(color = "black", fill = "red", alpha = 0.6) +
xlab("") + ylab("Frecuencia")
Tipo de Jurisdicción de las Comisarías
Las siguientes visualizaciones interactivas han sido posibles gracias al paquete leaflet. Si quieres conocer más sobre cómo usar esto en R, te recomiendo revisar Leaflet para R o la página oficial de la Librería JavaScript Leaflet.
library(leaflet)
leaflet() %>%
addTiles() %>%
addMarkers(lng = as.numeric(as.character(datos[,280])),
lat = as.numeric(as.character(datos[,279])),
clusterOptions = markerClusterOptions())
Este reporte fue elaborado usando rmarkdown. Anímate a probarlo!