Este ejercicio práctico tiene como objetivo implementar algunos de los elementos discutidos en el taller y realizar interpretaciones de distintos elementos cuantitativos como tablas y gráficos. Nuestra fuente de datos es el 2do Estudio Nacional de la Discapacidad (ENDISC-II). La plataforma que se usa es RStudio versión 1.4.1103, un software estadístico abierto y gratuito.
El foco no es aprender a utilizar el software, sino entender los procesos de decisiones respecto al análisis de datos y realizar interpretaciones de los productos generados, con énfasis en la variable de grado de discapacidad.
Web Github: 🌏 https://github.com/eloluna/taller_cuanti
Web ENDISC-II: 💻 https://www.senadis.gob.cl/pag/355/1197/ii_estudio_nacional_de_discapacidad
Acerca de ENDISC II:
Este estudio determina la prevalencia de las personas con discapacidad en Chile y permite conocer cuál es su real contexto con respecto a la población en general, en términos de sus niveles o grados, déficits corporales (funcionales y/o estructurales), funcionamiento en las actividades diarias y vitales, relación con el entorno, participación social y otros. También, caracteriza a las personas con discapacidad en Chile en su contexto respecto a aspectos socio demográficos y socioeconómicos.
Web RStudio: https://www.rstudio.com/products/rstudio/download/#download
Por qué realizarlo en R? Si bien no el programa más intuitivo para utilizar, permite realizar todo (cargar datos, limpieza, creación de estadísticas pertinentes, modelos e interpretaciones) en un mismo ambiente. La interfaz tiene 4 divisiones: consola, script, ambiente y archivos. La consola es donde ocurren todos los procesos, el script es donde le doy instrucciones a R de qué quiero hacer, el ambiente es donde están las distintas bases de datos y objetos creados/cargados y la ventana de archivos
Nota acerca de los comentarios: Este tipo de formato se llama R Markdown, que es una mezcla de editor de texto, como word, donde esto está escrito, y unas partes llamadas ‘chunks’ que contienen código. Dentro de los ‘chunks’, todo lo que siga un ‘#’ va a ser leído como un comentario y no como un código. Esto es clave porque me permite ir generando comentarios para saber qué hice y por qué. También permite dejar algunos códigos escritos pero que no se corran, como las primeras líneas del siguiente ‘chunk’
Al ser un programa abierto, R funciona en base a paquetes escritos por usuarios. Para iniciar, cargaremos los paquetes necesarios. Los paquetes se descargan solo una vez y deben ser cargados cada vez que se inicia una sesión. Si realizas este ejercicio por ti mismo, debes quitar el ‘#’ antes del comando “install.packages”. Solo es necesario instalarlos una vez, pero deberás cargarlos cada vez que uses el programa.
El siguiente paso es cargar los datos a utilizar, en este caso la ENDISC. Hay dos maneras: si tengo el archivo en mi computador, puedo ‘llamarlo’ usando la dirección de la base dentro de mi computador (o buscarlo en la ventana de archivos), y también puedo cargar la base desde plataformas como Github. Vamos a explorar ambas opciones.
endisc <- read_dta('C:/Users/elolu/Desktop/Respaldo Elo/Workshops 2021/Taller cuanti/ENDISCII.dta')
#Se carga en el ambiente
#La base tiene muchas variables que no utilizaremos y que utiliza RAM del computador. Podemos reducirla para que sea más simple y el programa corra de
#forma más eficiente
endisc <- endisc %>% #este signo quiere decir 'y entonces'
select(enc_id, hogar, rph_id, region, sexo, edad, educc, esc, ytot, cie_suma, cap_puntaje_adulto, des_puntaje_adulto, disc_grado_adulto)
#El código anterior instruye lo siguiente: R, quiero que crees un objeto llamado endisc (es decir, estoy sobreescribiendo la encuesta), que tome como base la endisc y seleccione una lista de variable.
write.csv(endisc, 'C:/Users/elolu/Desktop/Respaldo Elo/Workshops 2021/Taller cuanti/endisclite.csv')
#endisc_git <- read.csv("https://raw.githubusercontent.com/eloluna/taller_cuanti/main/endisc.csv")
download.file(url = "https://raw.githubusercontent.com/eloluna/taller_cuanti/main/endisc.csv",
destfile = "endisc_git.csv",
mode = 'wb')
endisc_git <- read.csv('C:/Users/elolu/Desktop/Respaldo Elo/Workshops 2021/Taller cuanti/endisclite.csv')
En general, las encuestas nunca vienen ‘limpias’. Eso quiere decir que muchas veces nos encontramos con variables que no tienen etiquetas (por ejemplo, una variable de sexo con 0 y 1, pero sin una etiqueta asociada para saber cuál categoría de sexo corresponde a cada número), también suelen tener ‘missing data’, que ocurre cuando la persona no responde, la pregunta no aplica; o categorías que no tienen sentido y pueden ser combinadas. La estructura que buscamos en la siguiente: que cada columna sea una variable, cada fila represente a una persona y en cada celda los valores de las variables de las personas.
Para examinar una base en R, solo debemos hacer click en el nombre de ella en la pantalla de ambiente. Puedo examinarla a través de códigos también:
head(endisc_git) #Una muestra de 6 observaciones
summary(endisc_git) #Útil para variables continuas. Notar los 'Na's'
## X enc_id hogar rph_id
## Min. : 1 Min. : 623 Min. :1.000 Min. : 1530
## 1st Qu.: 9972 1st Qu.: 4502 1st Qu.:1.000 1st Qu.:11910
## Median :19944 Median : 9268 Median :1.000 Median :22348
## Mean :19944 Mean : 9074 Mean :1.024 Mean :22304
## 3rd Qu.:29915 3rd Qu.:13959 3rd Qu.:1.000 3rd Qu.:32645
## Max. :39886 Max. :17686 Max. :4.000 Max. :43180
##
## region sexo edad educc
## Min. : 1.000 Min. :1.000 Min. : 0.00 Min. : 0.000
## 1st Qu.: 5.000 1st Qu.:1.000 1st Qu.: 18.00 1st Qu.: 1.000
## Median : 9.000 Median :2.000 Median : 35.00 Median : 3.000
## Mean : 9.013 Mean :1.524 Mean : 36.95 Mean : 3.081
## 3rd Qu.:13.000 3rd Qu.:2.000 3rd Qu.: 54.00 3rd Qu.: 4.000
## Max. :15.000 Max. :2.000 Max. :108.00 Max. :99.000
##
## esc ytot cie_suma cap_puntaje_adulto
## Min. : 0.00 Min. : 0 Min. : 0.000 Min. : 0.00
## 1st Qu.: 8.00 1st Qu.: 0 1st Qu.: 0.000 1st Qu.: 14.55
## Median :12.00 Median : 90555 Median : 1.000 Median : 29.46
## Mean :10.85 Mean : 220206 Mean : 1.852 Mean : 27.95
## 3rd Qu.:13.00 3rd Qu.: 300000 3rd Qu.: 3.000 3rd Qu.: 39.58
## Max. :24.00 Max. :26500000 Max. :12.000 Max. :100.00
## NA's :7917 NA's :75 NA's :22106 NA's :27621
## des_puntaje_adulto disc_grado_adulto
## Min. : 0.00 Min. :0.000
## 1st Qu.: 24.65 1st Qu.:0.000
## Median : 38.02 Median :0.000
## Mean : 34.98 Mean :0.302
## 3rd Qu.: 46.68 3rd Qu.:0.000
## Max. :100.00 Max. :2.000
## NA's :27621 NA's :27621
Nota acerca de missing data 🚨: Distintos programas usan distintos símbolos para estas variables. En Stata, por ejemplo, se representa con “.”, mientras que en R se representan con “NA”.
## Mode FALSE TRUE
## logical 12265 27621
P: En la variable de grado de discapacidad, cuántas observaciones están missing? A qué se puede deber la cantidad de missing data?
R: De las 39,886 observaciones, hay 27,621 observaciones sin información acerca del grado de discapacidad, mientras que 12,265 participantes sí tienen información acerca de la variable. La razón del gran porcentaje de missing data para esta variable es que solo se mide para el entrevistado dentro del grupo de hogar, mientras que para otras variables el entrevistado entrega información acerca de su grupo familiar
Dado el alto nivel de falta de información en esa variable, es apropiado reducir mi base para incluir solo aquellos con información acerca del grado de discapacidad.
endisc_cc <- endisc_git[complete.cases(endisc_git[,13]),]
Una vez que resuelto esto, puedo analizar los datos? Casi 😭
Etiquetar: Esta base está descargada en formato Stata. Al traspasarla a R, muchas veces se pierden las etiquetas de las variables y/o las categorías dentro de las variables. Esto puede tener consecuencias en el análisis desde no poder identificar variables a no poder realizar análisis debido a que el programa puede que reconozca como una variable continua una variable que es categórica. Entonces, debemos decirle a R qué tipo de variable es la que nos interesa y sus etiquetas. Las etiquetas para cada variable se encuentra en el libro de códigos de la encuesta (https://www.senadis.gob.cl/pag/356/1625/base_de_datos)
##
## 1 2
## 5307 6958
endisc_cc$sexo <- factor(endisc_cc$sexo, levels = c(1, 2), labels = c("Hombres", "Mujeres"))
Al examinarla son solo números, pero tanto en Stata como en los los documentos en la página web de la ENDISC se pueden encontrar las categorías.
0: Sin educacion formal
1: Basica incompleta
2: Basica completa
3: Media incompleta
4: Media completa
5: Superior incompleta
6: Superior completa
99: Sin dato (Qué hago con esto? 🤔)
Muchas veces los “Na” son categorizados como 999, -999, -888, o un valor imposible. Esto ayuda a detectarlos, sin embargo puede desvirtuar el análisis. Supongamos que estamos preguntando la edad a los participantes, si aquellos que no saben/no quieren decir su edad, son categorizados como 999, al momento de sacar el promedio de edad, nuestro programa va a pensar que existen personas de 999 años.
##
## 0 1 2 3 4 5 6 99 Sum
## 337 1906 1414 1760 3412 1293 2138 5 12265
endisc_cc$educc <- factor(endisc_cc$educc, levels = c(0:6), labels = c("Sin educacion formal", "Basica incompleta", "Basica completa", "Media incompleta", "Media completa", "Superior incompleta", "Superior completa"))
##
## 0 1 2
## 9647 1527 1091
endisc_cc$disc_grado_adulto <- factor(endisc_cc$disc_grado_adulto, levels = c(0:2), labels = c("Sin discapacidad", "Leve/moderada", "Severa"))
Puedo analizar los datos ahora? Sí! 😃
Sexo | % |
Hombres | 43.27 |
Mujeres | 56.73 |
P: Qué tipo de variable es sexo?
R: Binaria
P: Qué se puede decir acerca de la distribución de la variable sexo en la ENDISC-II?
R:En aquellos participantes con información acerca del grado de discapacidad, el 43.2% es hombre y un 56.7% es mujer
👶 👩 🗝 P: Cómo es la distribución de edad en la muestra?
#Medidas de tendencia central
mean(endisc_cc$edad, na.rm = T)
## [1] 48.35907
median(endisc_cc$edad, na.rm = T)
## [1] 48
#Medidas de dispersión
sd(endisc_cc$edad, na.rm = T)
## [1] 18.35403
R: El promedio de edad de nuestra muestra es de 48.3 años, cercano a la mediana (48 años). Aquello es un buen indicador acerca de una distribución normal de edad en nuestra muestra. Existe alrededor de 200 personas con la menor edad posible -18 años-, y una cantidad muy pequeña de nuestra muestra es mayor a 90 años
🎓 🏫
Existen dos variables, grado educativo (educc) y años de educación (esc)
P: Qué tipo de variable son grado educativo y años de educación?
R: Grado educativo es una variable categórica, mientras que años de educación es continua
Nivel educativo | % |
Sin educacion formal | 2.75 |
Basica incompleta | 15.55 |
Basica completa | 11.53 |
Media incompleta | 14.36 |
Media completa | 27.83 |
Superior incompleta | 10.55 |
Superior completa | 17.44 |
P: Cuál porcentaje de personas tienen al menos educación media completa (educación media = educación secundaria)?
#Esa pregunta es la suma de aquellos con superior completa, superior incompleta y media completa
17.44 + 10.55 + 27.83
## [1] 55.82
R: De aquellos con información acerca de discapacidad, un 55.8% ha completado la educación media
P: Cómo es la distribución de los años de escolaridad en la muestra?
#Forma gráfica
#hist(endisc_cc$esc)
ggplot(endisc_cc) +
geom_bar(mapping = aes(x=esc), fill = "#9621ad", color = "black") +
theme_bw() +
xlab("Años de escolaridad") +
ylab("Número de personas") +
labs(title = "Histograma de años de escolaridad",
caption = "Fuente: ENDISC-II")
## Warning: Removed 6 rows containing non-finite values (stat_count).
#Medidas de tendencia central
mean(endisc_cc$esc, na.rm = T)
## [1] 10.68211
median(endisc_cc$esc, na.rm = T)
## [1] 12
#Medidas de dispersión
sd(endisc_cc$esc, na.rm = T)
## [1] 4.463209
R: De nuestra muestra, una gran parte tiene al menos 12 años de educación. El promedio de años de educación es de 10.7 años, mientras que la mediana es 12.
♿
Esta métrica se obtiene en base a las variables de puntaje de capacidad y puntaje de desempeño.
P: Cómo es la distribución de discapacidad en la muestra?
R: El gráfico nos muestra que en nuestra muestra alrededor del 78% no tiene discapacidad, 13% tiene discapacidad leve/moderada y el 9% tiene discapacidad severa.
##
## Sin discapacidad Leve/moderada Severa
## 9647 1527 1091
##
## Sin discapacidad Leve/moderada Severa
## 78.65 12.45 8.90
🔍
Una vez que nuestras principales variables están descritas, podemos examinar la asociación entre grado de discapacidad y nuestras variables demográficas y económicas.
P: Describe la asociación entre sexo y discapacidad usando el gráfico de barras
R: Al mirar el gráfico se ve una diferencia en el porcentaje de personas en situación de discapacidad según sexo. Las mujeres tienen un menor porcentaje en la categoría “sin discapacidad” comparado con los hombres. Por otra parte, el porcentaje de mujeres tanto en la categoría de discapacidad leve/moderada y severa es mayor que en los hombres
P: Describe la asociación entre edad y discapacidad usando el gráfico boxplot
R. Existe una gradiente de edad según discapacidad. Aquellos sin discapacidad tienen alrededor de 45 años como media, aquellos con discapacidad leve/moderada 56 años y aquellos con discapacidad severa tienen 66 años como media. Es decir, que a medida que avanza la edad, es más probable estar en situación de discapacidad
P: Cómo es la distribución que nos muestra el gráfico del nivel educativo según discapacidad?
R: Existe una gradiente en la relación entre situación de discapacidad y educación: aquellas personas con mayor grado de discapacidad tienden a tener menor educación. Por ejemplo, alrededor de un 20% de las personas sin discapacidad tiene educación superior completa, mientras que alrededor de un 11% de las personas en situación de discapacidad severa tienen educación superior completa. Lo mismo se puede ver desde los niveles de menor educación. Alrededor de un 11% de las personas en situación de discapacidad severa no tienen educación formal, mientras que este porcentaje es alrededor de un 1% para aquellos sin discapacidad
Grado de discapacidad | Promedio de escolaridad |
Sin discapacidad | 11.31 |
Leve/moderada | 9.27 |
Severa | 7.12 |
## `summarise()` has grouped output by 'disc_grado_adulto'. You can override using the `.groups` argument.
Grado de discapacidad | Sexo | Promedio de escolaridad |
Sin discapacidad | Hombres | 11.38 |
Sin discapacidad | Mujeres | 11.24 |
Leve/moderada | Hombres | 9.38 |
Leve/moderada | Mujeres | 9.21 |
Severa | Hombres | 7.58 |
Severa | Mujeres | 6.94 |
Fin 🏅 🥇 🏅
P: Describe la asociación entre puntaje de desempeno e ingreso mensual en base al scatterplot. Existe algún rol de la edad en relación a esas variables?
## `geom_smooth()` using formula 'y ~ x'
R: En este gráfico se puede observar que a medida que el puntaje de desempeño aumente (personas con mayor dificultad en el desempeño), el ingreso mensual es más bajo. La línea en azul corresponde a una regresión que resume la relación entre estas dos variables. Por otra parte, el gráfico nos muestra que la edad parece relacionarse con ambas variables: aquellos de mayor edad son quienes tienen menos ingresos (probablemente pensionados), y son también quienes tienen mayores dificultades de desempeño
Muchas veces nuestra variable de interés está asociada a más de una variable independiente. En el caso de hoy, podemos intuir que el grado de discapacidad está relacionado a factores como el sexo, la edad, la educación y los ingresos. Una de las ventajas de métodos estadísticos más avanzados es que nos permite cuantificar la contribución de estos factores de forma simultánea.