Análisis descriptivo

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)

Análisis descriptivo de cada una de las variables

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

Viviendas particulares habitadas que disponen de teléfono celular

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

  • En promedio, el 89.81% de los hogares cuentan con celular.
  • Existe un distrito en el que el 96.77% de todos los hogares cuentan con teléfono celular
  • Existe otro distrito en el que apenas el 41.67% de los hogares cuenta con

Viviendas particulares habitadas que disponen de excusado o sanitario

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

  • En promedio, el 93.45% de los hogares cuentan con excusado.
  • Existe un distrito en el que el 99.87% de todos los hogares cuentan con un excusado y otro en el que apenas el 32.22% de los hogares cuenta con uno.

Población de 15 años y más analfabeta, sin escolaridad y con primaria incompleta

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

Circunscripciones

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.

Visualización de datos varias variables continuas vs variable catégorica

# 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”.


Ejercicio

  1. Realiza un análisis descriptivo del resto de variables, es decir de las variables PSINDER (% Población sin afiliación a servicios de salud) y HOGJEF_F (% Hogares censales con persona de referencia mujer). Incluye gráficos.
  2. 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.
  3. 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.