::p_load(tidyverse, # Manipulacion datos
pacman# Graficos y tablas
sjPlot, # Descriptivos
sjmisc, # Correlaciones
corrplot, # Test estadísticos
psych, # Tablas
kableExtra)
options(scipen = 999) # para desactivar notacion cientifica
rm(list = ls()) # para limpiar el entorno de trabajo
Práctico 4: Matrices de correlación, casos pérdidos e índices
Sesión del martes, 8 de octubre de 2024
Objetivo de la práctica
El objetivo de esta guía práctica es conocer maneras de reportar coeficientes de correlación y otras medidas de correlación para variables ordinales. Además, nos introduciremos en el tratamiento de valores perdidos y generación de índices. Todo ello a partir de una pregunta de investigación empírica.
En detalle, aprenderemos a:
- Estimar e interpretar coeficientes de correlación de Spearman y Kendall
- Generar y reportar matrices de correlación
- Tratamiento de casos perdidos
- Analizar baterías de indicadores y generar índices
En esta guía utilizaremos un ejemplo que desarrollaremos progresivamente para exponer los contenidos. Al final de esta guía se proporciona un ejercicio autónomo que deberá resolver de manera individual o grupal tomando como referencia el ejemplo aquí expuesto.
1. Pregunta de investigación
El aumento de la desigualdad económica y la concentración de la riqueza se han vinculado al resurgimiento de diversos conflictos sociales a nivel global. En este contexto, varios estudios han explorado en qué medida los individuos perciben conflictos sociales entre grupos, especialmente aquellos organizados verticalmente en la estructura social, como ricos-pobres o trabajadores-empresarios (Edlund & Lindh, 2015; Hadler, 2017).
La investigación ha demostrado que las percepciones de conflicto social se asocian tanto a desigualdades objetivas como subjetivas. Por un lado, en países más desiguales y entre personas de menor estatus socioeconómico, estas percepciones tienden a ser mayores (Edlund & Lindh, 2015). Por otro lado, quienes se auto-ubican en las posiciones más bajas de la estructura social perciben más conflictos, a la vez que las creencias de vivir en una sociedad de clase media o mayormente igualitaria mediatiza el efecto que tienen diferentes factores tanto objetivos como subjetivos (Hadler, 2017; Hertel & Schöneck, 2019) .
Sin embargo, en la literatura aún no se ha analizado cómo la percepción de desigualdad afecta las percepciones de conflicto social ni se ha examinado la consistencia de los indicadores utilizados para medirlas. Estas preguntas las responderemos estudiando el caso de Chile, un país que se caracteriza por sus altos niveles de desigualdad económica y concentración de la riqueza (Chancel et al., 2022).
Pregunta 1: ¿En qué medida se relacionan la percepción de desigualdad y la percepción de conflictos sociales en Chile?
Pregunta 2: ¿Cómo se relacionan los distintos indicadores utilizados para medir la percepción de conflictos sociales?
Recursos de la práctica
En esta práctica trabajaremos con un subconjunto de datos previamente procesados derivados de las encuesta del Módulo de Desigualdad Social de la International Social Survey Programme (ISSP) para Chile del año 2009. Para este ejercicio, obtendremos directamente esta base desde internet. No obstante, también es posible acceder a la misma información a través del siguiente enlace: ISSP Chile 2009
. Desde allí, podrás descargar el archivo que contiene el subconjunto procesado de la base de datos ISSP 2009 para Chile.
2. Datos y librerías
Comencemos por preparar nuestros datos. Iniciamos cargando las librerías necesarias.
Cargamos los datos directamente desde internet.
# Cargar bbdd desde internet
load(url("https://github.com/cursos-metodos-facso/datos-ejemplos/raw/refs/heads/main/issp_2009_chile.RData"))
A continuación, exploramos el subset de datos issp
.
names(issp) # Nombre de columnas
[1] "sex" "age" "educyrs" "income"
[5] "topbot" "pref_redis" "perc_ineq" "conflict_rp"
[9] "conflict_wcmc" "conflict_mw" "conflict_tb"
dim(issp) # Dimensiones
[1] 1505 11
Contamos con 11 variables (columnas) y 1505 observaciones (filas).
Ahora, realizaremos un pequeño procesamiento de nuestros datos con dplyr
, todo de una vez mediante el uso de pipes %>%
. Para recordar los pasos para el procesamiento de datos, revisar la guía práctica del curso de estadística descriptiva.
<- issp %>% # seleccionamos
proc_issp ::select(educyrs,
dplyr
income,
perc_ineq,starts_with("conflict"))
Ahora, exploremos estadísticos descriptivos de nuestra base procesada proc_issp
%>%
proc_issp ::descr(show = c("label","range", "mean", "sd", "NA.prc", "n")) %>%
sjmisckable(.,"markdown")
var | label | n | NA.prc | mean | sd | range | |
---|---|---|---|---|---|---|---|
5 | educyrs | Nivel educativo | 1451 | 3.5880399 | 10.762922 | 4.4097420 | 24 (1-25) |
6 | income | Decil ingreso | 1146 | 23.8538206 | 5.489529 | 2.8723002 | 9 (1-10) |
7 | perc_ineq | Percepción desigualdad | 1492 | 0.8637874 | 4.188338 | 0.8271374 | 4 (1-5) |
2 | conflict_rp | Conflictos: ricos - pobres | 1438 | 4.4518272 | 2.613352 | 0.8665370 | 3 (1-4) |
4 | conflict_wcmc | Conflictos: clase trabajadora - clase media | 1426 | 5.2491694 | 2.289621 | 0.8965377 | 3 (1-4) |
1 | conflict_mw | Conflictos: directivos - trabajadores | 1427 | 5.1827243 | 2.714085 | 0.8304120 | 3 (1-4) |
3 | conflict_tb | Conflictos: gente de arriba - gente de abajo | 1425 | 5.3156146 | 2.661754 | 0.9044854 | 3 (1-4) |
3. Análisis
La manera en que se miden las variables de percepción de conflictos y percepción de desigualdad en la ISSP 2009 para Chile es la siguiente:
Percepción de conflictos: En todos los países hay diferencias o incluso conflictos entre diferentes grupos sociales. En su opinión, ¿Cuánto conflicto hay en Chile hoy en día entre…?
Ítem | Categorías de respuesta |
---|---|
A. La gente pobre y la gente rica | Conflictos muy fuertes (1); Conflictos fuertes (2); Conflictos no muy fuertes (3); No hay conflictos (4) |
B. La clase trabajadora y la clase media | Conflictos muy fuertes (1); Conflictos fuertes (2); Conflictos no muy fuertes (3); No hay conflictos (4) |
C. La gerencia y los trabajadores | Conflictos muy fuertes (1); Conflictos fuertes (2); Conflictos no muy fuertes (3); No hay conflictos (4) |
D. La gente en el nivel más alto de la sociedad y la gente en el nivel más bajo | Conflictos muy fuertes (1); Conflictos fuertes (2); Conflictos no muy fuertes (3); No hay conflictos (4) |
Percepción de desigualdad: Qué tan de acuerdo o en desacuerdo está UD. con las siguientes afirmaciones?
Ítem | Categorías de respuesta |
---|---|
A. Las diferencias de ingreso en Chile son demasiado grandes | Muy de acuerdo (1); De acuerdo (2); Ni de acuerdo ni en desacuerdo (3); En desacuerdo (4); Muy en desacuerdo (5) |
Todas estas variables fueron recodificadas inversamente para este ejercicio.
Entonces, ¿qué herrramienta usar?
Pregunta 1: Dado que las variables de percepción de conflictos y percepción de desigualdad son de nivel de medición ordinal, podemos estimar su asociación con coeficientes de correlación para variables ordinales.
Pregunta 2: Podemos estimar una matriz de correlaciones entre las variables de percepción de conflictos tratando los casos pérdidos. Luego, podemos estimar la consistencia interna (alpha de Cronbach) para generar un índice promedio.
3.1 Correlación para variables ordinales
3.1.1 Coeficiente de correlación de Spearman
Cuando queremos conocer la asociación entre variables que son ordinales y/o cuando nuestras variables no cumplen con los supuestos de distribución normal, podemos utilizar la correlación de Spearman.
- Emplea rangos en lugar de valores numéricos para evaluar la relación.
- Es alta cuando las observaciones tienen un ranking similar.
En R calcularlo es sencillo, pero debemos tener en cuenta que las variables que relacionemos tengan un orden de rango similar: por ejemplo, que el valor más bajo sea el rango más bajo y que el valor más alto sea el rango más alto.
Observemos las frecuencias de las variables conflict_rp
(conflictos ricos-pobres) y perc_ineq
(percepción desigualdad)
::frq(proc_issp$conflict_rp) sjmisc
Conflictos: ricos - pobres (x) <numeric>
# total N=1505 valid N=1438 mean=2.61 sd=0.87
Value | N | Raw % | Valid % | Cum. %
--------------------------------------
1 | 161 | 10.70 | 11.20 | 11.20
2 | 442 | 29.37 | 30.74 | 41.93
3 | 627 | 41.66 | 43.60 | 85.54
4 | 208 | 13.82 | 14.46 | 100.00
<NA> | 67 | 4.45 | <NA> | <NA>
::frq(proc_issp$perc_ineq) sjmisc
Percepción desigualdad (x) <numeric>
# total N=1505 valid N=1492 mean=4.19 sd=0.83
Value | N | Raw % | Valid % | Cum. %
--------------------------------------
1 | 16 | 1.06 | 1.07 | 1.07
2 | 65 | 4.32 | 4.36 | 5.43
3 | 105 | 6.98 | 7.04 | 12.47
4 | 742 | 49.30 | 49.73 | 62.20
5 | 564 | 37.48 | 37.80 | 100.00
<NA> | 13 | 0.86 | <NA> | <NA>
Ahora, calculemos el coeficiente de correlación de Spearman con cor.test.
cor.test(proc_issp$conflict_rp, proc_issp$perc_ineq, method = "spearman") #especificamos metodo spearman
Spearman's rank correlation rho
data: proc_issp$conflict_rp and proc_issp$perc_ineq
S = 430911455, p-value = 0.000008055
alternative hypothesis: true rho is not equal to 0
sample estimates:
rho
0.1176912
Ahora conocemos el valor del coeficiente de Spearman mediante al argumento rho
, que es igual a 0.12, siendo positivo y pequeño según los criterios de Cohen (1988).
3.1.2 Coeficiente de correlación Tau de Kendall
Recomendado cuando hay un set de datos pequeños y/o cuando hay mucha repetición de observaciones en el mismo ranking. Se basa en una comparación de pares de observaciones concordantes y discordantes.
Ahora, calculemos el coeficiente de correlación Tau de Kendall con cor.test.
cor.test(proc_issp$conflict_rp, proc_issp$perc_ineq, method = "kendall") #especificamos metodo kendall
Kendall's rank correlation tau
data: proc_issp$conflict_rp and proc_issp$perc_ineq
z = 4.4558, p-value = 0.000008358
alternative hypothesis: true tau is not equal to 0
sample estimates:
tau
0.1043735
El valor del coeficiente de Kendall mediante al argumento tau
, es igual a 0.1, siendo positivo y muy pequeño según los criterios de Cohen (1988).
¿PERO QUÉ HACER CON LOS CASOS PÉRDIDOS?
3.2 Tratamiento de casos perdidos
Trabajar con datos a menudo implica enfrentar valores perdidos (NA
), lo que puede ser un gran desafío. Estos valores indican la ausencia de un valor en una base de datos. Los valores perdidos pueden originarse por diversas razones, como el sesgo de no respuesta en encuestas, errores en la entrada de datos o simplemente la falta de información para ciertas variables.
X1 | X2 | X3 | X4 |
---|---|---|---|
NA | 4 | 1 | Hola |
7 | 1 | 4 | No soy un NA |
8 | NA | 2 | NA |
9 | NA | 9 | Amo R |
3 | 3 | 6 | NA |
La presencia de valores perdidos puede tener un impacto considerable en la precisión y confiabilidad de los análisis estadísticos, lo que a su vez puede conducir a resultados sesgados y conclusiones incorrectas.
Existen varias formas de tratar valores perdidos, que van desde enfoques simples hasta métodos más complejos, como la imputación. En esta ocasión, nos centraremos en las dos estrategias más comunes:
- trabajar exclusivamente con casos completos (listwise) o
- retener los casos con valores perdidos, pero excluyéndolos al calcular estadísticas (pairwise).
3.2.1 Analísis con casos completos: listwise deletion
Este enfoque es uno de los más conocidos: implica remover completamente las observaciones que tienen valores perdidos en cualquier variable de interés. En otras palabras, si una fila/caso en un conjunto de datos tiene al menos un valor faltante en alguna de las variables que estás considerando, se eliminará por completo.
En R, esto podemos hacerlo con la función na.omit
. Para hacer esto, sigamos estos pasos:
- respaldar la base de datos original en el espacio de trabajo (por si queremos en adelante realizar algún análisis referido a casos perdidos)
- contamos el número de casos con el comando
dim
. - contamos cuántos y en dónde tenemos casos perdidos.
- borramos los casos perdidos con
na.omit
. - contamos nuevamente con
dim
para asegurarnos que se borraron.
<- proc_issp
proc_issp_original dim(proc_issp)
[1] 1505 7
sum(is.na(proc_issp))
[1] 730
colSums(is.na(proc_issp))
educyrs income perc_ineq conflict_rp conflict_wcmc
54 359 13 67 79
conflict_mw conflict_tb
78 80
<- na.omit(proc_issp)
proc_issp dim(proc_issp)
[1] 1025 7
Ahora nos quedamos con 1021 observaciones sin casos perdidos.
Aunque simple de implementar, con este enfoque podemos perder información importante, especialmente si los valores perdidos no se distribuyen aleatoriamente.
Siempre hay que intentar rescatar la mayor cantidad de casos posibles. Por lo tanto, si un listwise genera más de un 10% de casos perdidos se debe detectar qué variables esta produciendo esta pérdida e intentar recuperar datos. Puedes revisar un ejemplo aquí.
3.2.2 Retener pero excluir: pairwise deletion
A diferencia del anterior, este es un enfoque en el que las observaciones se utilizan para el análisis siempre que tengan datos disponibles para las variables específicas que se están analizando. En lugar de eliminar toda una fila si falta un valor, se eliminan solo los valores faltantes en las variables que se están analizando en ese momento.
Para hacer esto en R debemos siempre verificar e indicar en nuestro código si queremos (o no) remover los NA
para realizar los análisis.
mean(proc_issp_original$conflict_rp); mean(proc_issp_original$perc_ineq)
[1] NA
[1] NA
mean(proc_issp_original$conflict_rp, na.rm = TRUE); mean(proc_issp_original$perc_ineq, na.rm = TRUE)
[1] 2.613352
[1] 4.188338
Con el primer código no obtuvimos información sustantiva en ciertas variables, pero con el segundo sí al remover los NA
solo de dicha variable para un cálculo determinado.
3.3 Matrices de correlación
La correlación es una estimación de asociación de dos variables. Sin embargo, en los análisis de bases de datos usualmente se exploran asociaciones entre múltiples pares de variables, lo que genera una matriz de correlación. En una matriz, las variables se presentan en las filas y las columnas, y en las celdas donde se cruzan los pares de variables se muestra su coeficiente de correlación.
En su forma simple en R se aplica la función cor
a la base de datos, y la guardamos en un objeto que le damos el nombre M para futuras operaciones:
<- cor(proc_issp_original, use = "complete.obs")
M M
educyrs income perc_ineq conflict_rp conflict_wcmc
educyrs 1.000000000 0.432514770 0.05504904 -0.08841474 -0.13352776
income 0.432514770 1.000000000 0.05477385 -0.06418553 -0.12973731
perc_ineq 0.055049043 0.054773853 1.00000000 0.06824227 -0.02485978
conflict_rp -0.088414736 -0.064185525 0.06824227 1.00000000 0.50032361
conflict_wcmc -0.133527759 -0.129737308 -0.02485978 0.50032361 1.00000000
conflict_mw -0.002602596 -0.009135604 0.09567990 0.49448964 0.44732312
conflict_tb -0.021292335 -0.008221726 0.09164984 0.66745078 0.41433338
conflict_mw conflict_tb
educyrs -0.002602596 -0.021292335
income -0.009135604 -0.008221726
perc_ineq 0.095679896 0.091649843
conflict_rp 0.494489639 0.667450775
conflict_wcmc 0.447323122 0.414333385
conflict_mw 1.000000000 0.524006738
conflict_tb 0.524006738 1.000000000
Este es el reporte simple, pero no muy amigable a la vista. Para una versión más reportable, utilizamos la funcion tab_corr
.
::tab_corr(proc_issp_original,
sjPlottriangle = "lower")
Nivel educativo | Decil ingreso | Percepción desigualdad | Conflictos: ricos - pobres | Conflictos: clase trabajadora - clase media |
Conflictos: directivos - trabajadores | Conflictos: gente de arriba - gente de abajo |
|
Nivel educativo | |||||||
Decil ingreso | 0.433*** | ||||||
Percepción desigualdad | 0.055 | 0.055 | |||||
Conflictos: ricos - pobres | -0.088** | -0.064* | 0.068* | ||||
Conflictos: clase trabajadora - clase media |
-0.134*** | -0.130*** | -0.025 | 0.500*** | |||
Conflictos: directivos - trabajadores | -0.003 | -0.009 | 0.096** | 0.494*** | 0.447*** | ||
Conflictos: gente de arriba - gente de abajo |
-0.021 | -0.008 | 0.092** | 0.667*** | 0.414*** | 0.524*** | |
Computed correlation used pearson-method with listwise-deletion. |
La distinción entre listwise y pairwise es relevante al momento de estimar matricies de correlación, donde esta decisión debe estar claramente explicitada y fundamentada. En ejemplo de tabla anterior usamos listwise que es el argumento por defecto (y nos lo indica al final de la tabla).
Veamos como hacerlo con pairwise:
::tab_corr(proc_issp_original,
sjPlotna.deletion = "pairwise", # espeficicamos tratamiento NA
triangle = "lower")
Nivel educativo | Decil ingreso | Percepción desigualdad | Conflictos: ricos - pobres | Conflictos: clase trabajadora - clase media |
Conflictos: directivos - trabajadores | Conflictos: gente de arriba - gente de abajo |
|
Nivel educativo | |||||||
Decil ingreso | 0.429*** | ||||||
Percepción desigualdad | 0.057* | 0.041 | |||||
Conflictos: ricos - pobres | -0.068* | -0.057 | 0.087*** | ||||
Conflictos: clase trabajadora - clase media |
-0.139*** | -0.122*** | -0.025 | 0.518*** | |||
Conflictos: directivos - trabajadores | -0.016 | -0.005 | 0.100*** | 0.499*** | 0.438*** | ||
Conflictos: gente de arriba - gente de abajo |
-0.037 | 0.007 | 0.089*** | 0.651*** | 0.441*** | 0.527*** | |
Computed correlation used pearson-method with pairwise-deletion. |
Con esta mejor visualización, algunas observaciones sobre la matriz de correlaciones:
- En esta matriz las variables están representadas en las filas y en las columnas.
- Cada coeficiente expresa la correlación de una variable con otra. Por ejemplo, la correlación entre la variable de
educyrs
yincome
es 0.43. - La información de cada coeficiente se repite sobre y bajo la diagonal, ya que es el mismo par de variables pero en el orden alterno. Por convención en general se omiten las correlaciones redundantes sobre la diagonal, por eso aparece en blanco.
- En la diagonal corresponde que todos los coeficientes sean 1, ya que la correlación de una variable consigo misma es perfectamente positiva.
Otra manera de presentar matrices de correlación es mediante gráficos. Veamos un ejemplo con la función corrplot
de la librería corrplot
sobre nuestra matriz M
ya creada.
diag(M) <- NA
::corrplot(M,
corrplotmethod = "color",
addCoef.col = "black",
type = "upper",
tl.col = "black",
col = colorRampPalette(c("#E16462", "white", "#0D0887"))(12),
bg = "white",
na.label = "-")
3.4 Baterías e índices
En la literatura sobre percepción de conflictos se suele utilizar un índice sumativo o promedio entre los distintos indicadores sobre conflictos percibidos: conflict_rp
,conflict_wcmc
,conflict_mw
,conflict_tb
.
Entonces, para poder responder nuestras preguntas de investigación, primero generaremos una matriz de correlaciones entre estos indicadores, luego evaluaremos su consistencia y generaremos el índice psci
. Finalmente, realizaremos un test de correlación para examinar la asociación entre psci
y perc_ineq
.
<- proc_issp %>%
M_psci ::select(starts_with("conflict"))
dplyr
::tab_corr(M_psci,
sjPlotna.deletion = "listwise", # espeficicamos tratamiento NA
triangle = "lower")
Conflictos: ricos - pobres | Conflictos: clase trabajadora - clase media |
Conflictos: directivos - trabajadores | Conflictos: gente de arriba - gente de abajo |
|
Conflictos: ricos - pobres | ||||
Conflictos: clase trabajadora - clase media |
0.500*** | |||
Conflictos: directivos - trabajadores | 0.494*** | 0.447*** | ||
Conflictos: gente de arriba - gente de abajo |
0.667*** | 0.414*** | 0.524*** | |
Computed correlation used pearson-method with listwise-deletion. |
Los ítems se correlacionan de manera positiva y con tamaños de efecto moderados y altos para las ciencias sociales. Con ello, podemos pasar a evaluar sus relaciones tienen consistencia interna.
<- psych::alpha(M_psci)
alpha_psci $total$raw_alpha alpha_psci
[1] 0.8044404
De acuerdo con este resultado, el alpha de Cronbach reflejado en el raw_alpha
del output es superior al estandar de 0.6 en ciencias sociales, por lo que se sostiene su consistencia.
Ahora, generemos el índice psci
<- cbind(proc_issp, "psci" = rowMeans(proc_issp %>% select(starts_with("conflict")), na.rm=TRUE))
proc_issp
::descr(proc_issp$psci, show = c("range", "mean", "sd", "NA.prc", "n")) %>%
sjmisckable(.,"markdown")
var | n | NA.prc | mean | sd | range |
---|---|---|---|---|---|
dd | 1025 | 0 | 2.585122 | 0.6986039 | 3 (1-4) |
4. Conclusiones
Pregunta 1
¿En qué medida se relacionan la percepción de desigualdad y la percepción de conflictos sociales en Chile?
Realicemos la prueba estadística correspondiente.
cor.test(proc_issp$psci, proc_issp$perc_ineq, method = "pearson", use = "complete.obs")
Pearson's product-moment correlation
data: proc_issp$psci and proc_issp$perc_ineq
t = 2.3043, df = 1023, p-value = 0.02141
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.01067288 0.13250704
sample estimates:
cor
0.071858
De acuerdo a este resultado, la correlación de Pearson entre la percepción de conflicto social y la percepción de desigualdad es positiva, muy pequeña y estadisticamente significativa (\(r\) = 0.07, \(p\) < 0.05).
Pregunta 2
¿Cómo se relacionan los distintos indicadores utilizados para medir la percepción de conflictos sociales?
De acuerdo al resultado de la matriz de correlaciones y del alpha de Cronbach, los indicadores utilizados para medir la percepción de conflictos se relacionan positiva y significativamente (\(p\) < 0.05), además de demostrar un nivel de consistencia interna aceptable (\(\alpha\) = 0.8).
Ejercicio autónomo
A partir de la base de datos de proc_issp
responda la siguiente pregunta ¿en qué medida la percepción de conflictos se asocia con el estatus socioeconomico de las personas? Para responder esta pregunta siga los siguientes pasos:
- Estime y reporte una matriz de correlación con las variables
income
yeducyrs
. Considere el tratamiento de casos perdidos. - Calcule el alpha de cronbach de la matriz del punto anterior.
- Genere un índice promedio de estatus socioeconomico a partir de las variables
income
yeducyrs
, y llámeloses
. - Calcule el coeficiente de correlación de Pearson (\(r\)) entre las variables
psci
yses
. Reporte e interprete sus resultados.
Resolución ejercicio autónomo
- Para estimar y reportar una matriz de correlación con las variables
income
yeducyrs
, primero crearemos un objetoM_ej
en donde almacenaremos solo estas dos variables.
<- proc_issp %>%
M_ej ::select(income, educyrs)
dplyr
head(M_ej) # verificamos mirando los primeros 6 casos
income educyrs
1 5 12
2 5 13
3 7 7
4 3 6
5 1 13
6 5 13
Luego, calculamos la matriz de correlación sobre el objeto M_ej
. En este caso, lo haremos con tab_corr
para que nos entregue una tabla de calidad. Además, debemos tener claro el método de tratamiento de casos pérdidos. Una opción es utilizar listwise y trabajar solo con casos completos, considerando que tenemos un N lo suficientemente grande incluso eliminando dichos casos.
::tab_corr(M_ej,
sjPlotna.deletion = "listwise", # espeficicamos tratamiento NA
triangle = "lower")
Decil ingreso | Nivel educativo | |
Decil ingreso | ||
Nivel educativo | 0.433*** | |
Computed correlation used pearson-method with listwise-deletion. |
A partir de esta matriz, podemos afirmar que la correlación de Pearson entre el ingreso y el nivel educativo es positiva, moderada y estadísticamente significativa (\(r\) = 0.4, \(p\) < 0.05).
- Para calcular el alpha de Cronbach de esta matriz, usaremos la función
alpha
del paquetepsych
.
::alpha(M_ej)$total$raw_alpha psych
[1] 0.5665019
El alpha de Cronbach entre el ingreso y el nivel educativo es de 0.6 (aproximado), estando justo dentro del estándar minímo en ciencias sociales. Por tanto, ambas variables son consistentes y podemos utilizarlas para generar un índice de estatus socioeconómico.
- Para crear este índice, haremos un promedio entre
income
yeducyrs
con el comandorowMeans
.
<- cbind(proc_issp, "ses" = rowMeans(proc_issp %>% select(income, educyrs), na.rm=TRUE))
proc_issp
head(proc_issp) # verificamos
educyrs income perc_ineq conflict_rp conflict_wcmc conflict_mw conflict_tb
1 12 5 3 4 3 1 4
2 13 5 5 1 2 3 1
3 7 7 5 4 4 4 3
4 6 3 4 3 3 2 3
5 13 1 5 3 3 4 3
6 13 5 4 2 1 3 2
psci ses
1 3.00 8.5
2 1.75 9.0
3 3.75 7.0
4 2.75 4.5
5 3.25 7.0
6 2.00 9.0
- Finalmente, estimamos una prueba de correlación entre la percepción de conflictos (
psci
) y el estatus socioeconómico (ses
).
Las hipótesis formales serían:
- \(H_{0}\): \(cor(psci, ses)\) \(=\) \(0\)
- \(H_{A}\): \(cor(psci, ses)\) \(\neq\) \(0\)
Y la estimación en R:
cor.test(proc_issp$psci, proc_issp$ses, method = "pearson",
use = "complete.obs")
Pearson's product-moment correlation
data: proc_issp$psci and proc_issp$ses
t = -2.7693, df = 1023, p-value = 0.00572
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.14671603 -0.02515969
sample estimates:
cor
-0.08625888
Con este output podemos sostener lo siguiente:
El coeficiente de correlación de Pearson entre el conflicto social percibido y el estatus socioeconómico es negativo, muy pequeño y estadísticamente significativo (\(r\) = -0.08, \(p\) < 0.05). Por tanto, con un 95% de confianza se puede rechazar la \(H_{0}\) de no asociación entre variables, existiendo evidencia a favor de la \(H_{A}\) sobre una asociación significativa entre la percepción de conflictos y el estatus socioeconómico de las personas. Sustantivamente, esto sugiere que a mayor estatus socioeconómico, menor tiende a ser el conflicto percibido.