Para este ejemplo vamos a tomar los porcentajes a nivel distrito calculados con las estadísticas censales a escalas geoelectorales añadiendo la columna circunscripciones que agrupa a los estados en 5 catégorías.
#Cargamos los datos:
data <- read.csv('PORCENTAJES_INE_DISTRITO_2020.csv')
#Vemos como está estructurada la BD
head(data)
## X NOM_ENT DISTRITO VPH_CEL VPH_EXCSA PSINDER HOGJEF_F P15YM_ANSEIN
## 1 1 Aguascalientes 1 90.53405 98.09005 18.73057 28.21549 15.944938
## 2 2 Aguascalientes 2 94.75766 99.46381 17.15544 31.07652 8.297505
## 3 3 Aguascalientes 3 93.88488 99.38515 19.32630 33.23389 8.629514
## 4 4 Baja California 1 94.23078 93.15310 17.74218 29.16086 10.781099
## 5 5 Baja California 2 92.84061 99.02365 18.56001 34.43566 7.891912
## 6 6 Baja California 3 93.21974 81.63341 19.98933 32.68167 17.063882
## CIRCUNSCRIPCIONES
## 1 2
## 2 2
## 3 2
## 4 1
## 5 1
## 6 1
Recordando que:
#Vemos el número de dimensiones, observaciones, la clase y el nobre de cada variable
str(data)
## 'data.frame': 300 obs. of 9 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ NOM_ENT : chr "Aguascalientes" "Aguascalientes" "Aguascalientes" "Baja California" ...
## $ DISTRITO : int 1 2 3 1 2 3 4 5 6 7 ...
## $ VPH_CEL : num 90.5 94.8 93.9 94.2 92.8 ...
## $ VPH_EXCSA : num 98.1 99.5 99.4 93.2 99 ...
## $ PSINDER : num 18.7 17.2 19.3 17.7 18.6 ...
## $ HOGJEF_F : num 28.2 31.1 33.2 29.2 34.4 ...
## $ P15YM_ANSEIN : num 15.94 8.3 8.63 10.78 7.89 ...
## $ CIRCUNSCRIPCIONES: int 2 2 2 1 1 1 1 1 1 1 ...
Notamos que la variable ‘CIRCUNSCRIPCIONES’ es tipo entero por lo que la convertimos a factor
data$CIRCUNSCRIPCIONES=as.factor(data$CIRCUNSCRIPCIONES)
# También convertimos a factor NOM_ENT
data$NOM_ENT= as.factor(data$NOM_ENT)
summary(data$NOM_ENT)
## Aguascalientes Baja California
## 3 8
## Baja California Sur Campeche
## 2 2
## Chiapas Chihuahua
## 13 9
## Ciudad de México Coahuila de Zaragoza
## 24 7
## Colima Durango
## 2 4
## Guanajuato Guerrero
## 15 9
## Hidalgo Jalisco
## 7 20
## México Michoacán de Ocampo
## 41 12
## Morelos Nayarit
## 5 3
## Nuevo León Oaxaca
## 12 10
## Puebla Querétaro
## 15 5
## Quintana Roo San Luis Potosí
## 4 7
## Sinaloa Sonora
## 7 7
## Tabasco Tamaulipas
## 6 9
## Tlaxcala Veracruz de Ignacio de la Llave
## 3 20
## Yucatán Zacatecas
## 5 4
con lo cual conseguimos agrupar cada estado por el número de distritos que tiene. Graficamente lo podemos observar
# Cargmos la librería necesaria
library(ggplot2)
# Graficamos
ggplot(data, aes(y=NOM_ENT)) +
geom_bar(color='blue', fill='white') +
ggtitle('Número de distritos por entidad')
Donde el estado de México es la entidad con mayor número de distritos seguido de la Ciudad de México. Los estados con menos distritos son Campeche, BCS y Colima con 2 distritos
Obtenemos un breve resumen de esta variable
summary(data$VPH_CEL)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 41.67 83.58 89.81 86.72 92.65 96.77
del cual podemos decir que
summary(data$VPH_EXCSA)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 37.22 92.09 97.39 93.45 99.05 99.87
del cual
Observamos el siguiente histograma
hist(data$P15YM_ANSEIN, main = 'P15yM_ANSEIN', col='skyblue')
Parece ser que la mayoría de los distritos tiene un bajo porcentaje de P15YM_ANSE. Luego
summary(data$P15YM_ANSEIN)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2.010 9.225 14.052 18.876 26.078 61.317
De donde, del primer cuartil, el 25% de los distritos, solo se tiene un 9.26% de hogares con P15yM_ANSE y del tercer cuartil, el 75% Del territorio mexicano cuenta con un 26.07% de hogares con P15yM_ANSE
Obtenemos el número de distritos por circunscripciones
summary(data$CIRCUNSCRIPCIONES)
## 1 2 3 4 5
## 60 62 60 56 62
después graficamos
ggplot(data, aes(x=CIRCUNSCRIPCIONES)) +
geom_bar(color='pink', fill='white') +
ggtitle('Número de distritos por circunscripcion')
REcordatorio: Grafico de barras se utiliza para variables categóricas.
# Cargamos la librería necesaria
library(psych)
pairs.panels(data[,4:8], method = 'pearson', hist.col = "#E7B800",
density = TRUE, ellipses = FALSE)
Podemos observar, por ejemplo, que P15YM_AMSEIN y PSINDER (Población sin afiliación a servicios de salud) prácticamente no están correlacionados. O que VPH_CEL y P15YM_ANSEIN están correlacionados inversamente.
Después, procedemos a graficar las 5 variables de acuerdo a las circunscripciones
# Vector de colores
color<- c('#DDA0DD', "#6A5ACD", "#708090", '#800000','#DA70D6' )
pairs(data[,4:8], pch=19, lower.panel = NULL, cex=0.5,
col=color[data$CIRCUNSCRIPCIONES], main='Plots por circunscripciones')
donde
son los colerores representados por cada una de las circunscripciones. Nos podemos concentrar en un sólo gráfico para una de las variables
plot(data$P15YM_ANSEIN, data$VPH_CEL, pch=21, bg=c('#DDA0DD', "#6A5ACD", "#708090", '#800000','#DA70D6')[unclass(data$CIRCUNSCRIPCIONES)],
main = 'P15YM_ANSE vs VPH_CEL por circunscripciones' )
legend('bottomright', legend = c('C1', "C2", "C3", 'C4','C5'),
lwd = 4, col=c('#DDA0DD', "#6A5ACD", "#708090", '#800000','#DA70D6'))
Donde podemos notar que, mientras aumenta el porcentaje de la población de 15 años y más analfabeta, sin escolaridad y con primaria incompleta, disminuye el número de porcentaje de viviendas particulares habitadas que disponen de teléfono celular. Todo lo anterior identificado por colores de acuerdo a las circunscripciones.
Finalmente, podemos hcaer boxplots por circunscripciones
boxplot(P15YM_ANSEIN ~ CIRCUNSCRIPCIONES,data = data,col = c('#DDA0DD', "#6A5ACD", "#708090", '#800000','#DA70D6' ),
main='P15YM_ANSE por circunscripciones')
legend('topleft', legend = c('C1', "C2", "C3", 'C4','C5'),
lwd = 2, col=c('#DDA0DD', "#6A5ACD", "#708090", '#800000','#DA70D6'))
que nos indica que en la circunscripción 3 se concentra más el porcentaje de personas de 15 años y más analfabeta, sin escolaridad y con primaria incompleta y existe una mayor dispersión (la caja es más grande que las respectivas cajas del resto de circunscripciones). Para la circunscripción 1 tendremos que concentra el menor número porcentaje de de 15 años y más analfabeta, sin escolaridad y con primaria incompleta, donde la dispersión no es tanta, es decir, el número de P15YM_ANSEIN se encuentra distribuido “uniformemente”.
Interpreta las correlaciones que se muestran en el gráfico
Por ejemplo, se puede decir que el % de población sin afiliación a servicios de salud prácticamente no se correlaciona con el % de hogares con persona de referencia mujer. Haz lo mismo con cada una de las correlaciones que se muestran.Realiza al menos dos diagramas de dispersión para contrastar algunas variables vistas en esta práctica. Por ejemplo, el siguiente diagrama de dispersión contrasta a las variables PSINDER contra VPH_CEL:
Usa el mismo formato para tus diagramas de dispersión.