Sesión 4. Repaso de estadísticas descriptivas.
En la presente sesión, vamos a repasar nuevamente las estadísticas descriptivas, con la base efc, la cual, como vimos en la sesión pasada, contiene información sobre la situación de los cuidadores de adultos mayores en Europa (proyecto EUROFAMCARE).
Conceptos.
Tablas de contingencia
En estadística las tablas de contingencia son tablas que se emplean para registrar y analizar la asociación entre dos o más variables, habitualmente de naturaleza cualitativa (nominales u ordinales).
Estas tablas nos permiten hacer el famoso cruce de una variable con otra.
A continuación, un ejemplo:
Queremos saber en que manera afecta a la salud de los cuidadores el cuidar a sus adultos mayores. Para eso, queremos cruzar la variable de Relación con el adulto mayor, e15relat, con la variable c85cop4, ¿el acto de cuidar a su adulto mayor ha tenido alguna vez consecuencias en su salud física?.
Primero hay que conocer dichas variables (obtener sus etiquetas).
# 1. Obtenemos las claves de las variables previamente mencionadas.
# Etiquetas de relacion
get_labels(efc$e15relat)## [1] "spouse/partner" "child"
## [3] "sibling" "daughter or son -in-law"
## [5] "ancle/aunt" "nephew/niece"
## [7] "cousin" "other, specify"
## [1] "Never" "Sometimes" "Often" "Always"
Después de conocer nuestras variables, ya sacamos las tablas de contingencia.
En R, hay dos formas de calcular las tablas de contingencia:
Una es mediante la función
table()de R base.Otra es mediante la función
flat_table()que vimos en la sesión pasada, con la libreríasjmisc.
A continuación utilizaremos ambas maneras:
Con table()
Esta es la función básica para sacar tablas de una o múltiples variables. Si se combina con la función prop.table(), vamos a poder sacar la tabla de proporciones.
- Tabla de contingencias con
table()
##
## 1 2 3 4
## 1 40 78 27 24
## 2 218 181 49 23
## 3 16 11 2 0
## 4 39 35 5 6
## 5 14 8 0 1
## 6 19 3 0 0
## 7 4 1 1 0
## 8 58 29 1 4
- Proporciones (a lo largo del renglón)
##
## 1 2 3 4
## 1 0.23668639 0.46153846 0.15976331 0.14201183
## 2 0.46284501 0.38428875 0.10403397 0.04883227
## 3 0.55172414 0.37931034 0.06896552 0.00000000
## 4 0.45882353 0.41176471 0.05882353 0.07058824
## 5 0.60869565 0.34782609 0.00000000 0.04347826
## 6 0.86363636 0.13636364 0.00000000 0.00000000
## 7 0.66666667 0.16666667 0.16666667 0.00000000
## 8 0.63043478 0.31521739 0.01086957 0.04347826
- Proporciones (a lo largo de la columna)
##
## 1 2 3 4
## 1 0.098039216 0.225433526 0.317647059 0.413793103
## 2 0.534313725 0.523121387 0.576470588 0.396551724
## 3 0.039215686 0.031791908 0.023529412 0.000000000
## 4 0.095588235 0.101156069 0.058823529 0.103448276
## 5 0.034313725 0.023121387 0.000000000 0.017241379
## 6 0.046568627 0.008670520 0.000000000 0.000000000
## 7 0.009803922 0.002890173 0.011764706 0.000000000
## 8 0.142156863 0.083815029 0.011764706 0.068965517
Con flat_table()
Esta función es la mejor para sacar datos de contingencia cuando tenemos bases de datos etiquetadas.
- Tabla de contingencias con
sjmisc::flat_table()
## c85cop4 Never Sometimes Often Always
## e15relat
## spouse/partner 40 78 27 24
## child 218 181 49 23
## sibling 16 11 2 0
## daughter or son -in-law 39 35 5 6
## ancle/aunt 14 8 0 1
## nephew/niece 19 3 0 0
## cousin 4 1 1 0
## other, specify 58 29 1 4
- Proporciones (a lo largo del renglon)
## c85cop4 Never Sometimes Often Always
## e15relat
## spouse/partner 23.67 46.15 15.98 14.20
## child 46.28 38.43 10.40 4.88
## sibling 55.17 37.93 6.90 0.00
## daughter or son -in-law 45.88 41.18 5.88 7.06
## ancle/aunt 60.87 34.78 0.00 4.35
## nephew/niece 86.36 13.64 0.00 0.00
## cousin 66.67 16.67 16.67 0.00
## other, specify 63.04 31.52 1.09 4.35
- Proporciones (a lo largo de la columna)
## c85cop4 Never Sometimes Often Always
## e15relat
## spouse/partner 9.80 22.54 31.76 41.38
## child 53.43 52.31 57.65 39.66
## sibling 3.92 3.18 2.35 0.00
## daughter or son -in-law 9.56 10.12 5.88 10.34
## ancle/aunt 3.43 2.31 0.00 1.72
## nephew/niece 4.66 0.87 0.00 0.00
## cousin 0.98 0.29 1.18 0.00
## other, specify 14.22 8.38 1.18 6.90
Ejercicios.
Tablas de contingencia
- Elabore la tabla de contingencias para
c88cop7y parae16sexutilizandotable()yflat_table(). Explique brevemente a que conclusiones llega.
## [1] "do you feel trapped in your role as caregiver?"
## c88cop7 Never Sometimes Often Always
## e16sex
## male 35.81 43.24 11.49 9.46
## female 37.98 40.80 13.10 8.13
Medidas de tendencia central
- Obtenga la media y la mediana para las variables
e17ageyc160age. Las variables ¿tienen valores faltantes?
Igualmente, obtenga los valores máximos y mínimos, la desviación estándar y los principales cuantiles.
# Media
efc %>%
summarise(media_e17age = mean(e17age, na.rm = T),
media_c160age = mean(c160age, na.rm = T),
mediana_e17age = median(e17age, na.rm = T),
mediana_c160age = median(c160age, na.rm = T),
sd_e17age = sd(e17age, na.rm = T),
sd_c160age = sd(c160age, na.rm = T)
)## media_e17age media_c160age mediana_e17age mediana_c160age sd_e17age
## 1 79.12121 53.46282 79 54 8.094311
## sd_c160age
## 1 13.35182
##
## FALSE TRUE
## 891 17
##
## FALSE TRUE
## 901 7
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 65.00 73.00 79.00 79.12 85.00 103.00 17
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 18.00 44.00 54.00 53.46 63.00 89.00 7
Elaboración de gráficas
- Obtenga el histograma de frecuencias para las variables arriba mencionadas. ¿Existe algún sesgo? ¿Derecho o izquierdo?
## [1] "elder' age"
hist(efc$e17age,
main="Histograma de edades de los adultos mayores",
xlab="Edades",
ylab = "Frecuencia",
border="black",
col="#3d3d3d",
xlim=c(50,100),
breaks=50
)hist(efc$c160age,
main="Histograma de edades de los cuidadores",
xlab="Edades",
ylab = "Frecuencia",
border="black",
col="#3d3d3d",
xlim=c(0,100),
breaks=50
)Outliers y distribución de variables
- Obtenga un
boxplotpara las variables previamente mencionadas. ¿Existen valores atípicos u outliers?
No existen valores atípicos u outliers.