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("CensoComisarias.sav", to.data.frame=TRUE)
## re-encoding from UTF-8
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]
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)
## Warning: package 'leaflet' was built under R version 4.0.4
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!