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)
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")
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!