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:

  1. Estimar e interpretar coeficientes de correlación de Spearman y Kendall
  2. Generar y reportar matrices de correlación
  3. Tratamiento de casos perdidos
  4. 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.

pacman::p_load(tidyverse, # Manipulacion datos
               sjPlot, # Graficos y tablas
               sjmisc, # Descriptivos
               corrplot, # Correlaciones
               psych, # Test estadísticos
               kableExtra) # Tablas

options(scipen = 999) # para desactivar notacion cientifica
rm(list = ls()) # para limpiar el entorno de trabajo

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.

proc_issp <- issp %>% # seleccionamos
    dplyr::select(educyrs,
                  income,
                  perc_ineq,
                  starts_with("conflict")) 

Ahora, exploremos estadísticos descriptivos de nuestra base procesada proc_issp

proc_issp %>% 
  sjmisc::descr(show = c("label","range", "mean", "sd", "NA.prc", "n")) %>%
  kable(.,"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.

Nota

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)

sjmisc::frq(proc_issp$conflict_rp)
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>
sjmisc::frq(proc_issp$perc_ineq)
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_original <- proc_issp
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 
proc_issp <- na.omit(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:

M <- cor(proc_issp_original, use = "complete.obs") 
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.

sjPlot::tab_corr(proc_issp_original, 
                 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.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:

sjPlot::tab_corr(proc_issp_original, 
                 na.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 y income 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::corrplot(M,
                   method = "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.

M_psci <- proc_issp %>% 
  dplyr::select(starts_with("conflict"))

sjPlot::tab_corr(M_psci, 
                 na.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.

alpha_psci <- psych::alpha(M_psci)
alpha_psci$total$raw_alpha
[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

proc_issp <- cbind(proc_issp, "psci" = rowMeans(proc_issp %>% select(starts_with("conflict")), na.rm=TRUE))

sjmisc::descr(proc_issp$psci, show = c("range", "mean", "sd", "NA.prc", "n")) %>%
  kable(.,"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:

  1. Estime y reporte una matriz de correlación con las variables income y educyrs. Considere el tratamiento de casos perdidos.
  2. Calcule el alpha de cronbach de la matriz del punto anterior.
  3. Genere un índice promedio de estatus socioeconomico a partir de las variables income y educyrs, y llámelo ses.
  4. Calcule el coeficiente de correlación de Pearson (\(r\)) entre las variables psci y ses. Reporte e interprete sus resultados.

Resolución ejercicio autónomo

  1. Para estimar y reportar una matriz de correlación con las variables income y educyrs, primero crearemos un objeto M_ej en donde almacenaremos solo estas dos variables.
M_ej <- proc_issp %>% 
  dplyr::select(income, educyrs)

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.

sjPlot::tab_corr(M_ej,
                 na.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).

  1. Para calcular el alpha de Cronbach de esta matriz, usaremos la función alpha del paquete psych.
psych::alpha(M_ej)$total$raw_alpha
[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.

  1. Para crear este índice, haremos un promedio entre income y educyrs con el comando rowMeans.
proc_issp <- cbind(proc_issp, "ses" = rowMeans(proc_issp %>% select(income, educyrs), na.rm=TRUE))

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
  1. 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.

Referencias

Chancel, L., Piketty, T., Saez, E., & Zucman, G. (2022). World Inequality Report 2022.
Edlund, J., & Lindh, A. (2015). The Democratic Class Struggle Revisited: The Welfare State, Social Cohesion and Political Conflict. Acta Sociologica, 58(4), 311-328. https://doi.org/10.1177/0001699315610176
Hadler, M. (2017). Social Conflict Perception Between Long-Term Inequality and Short-Term Turmoil. 17, 16.
Hertel, F. R., & Schöneck, N. M. (2019). Conflict Perceptions across 27 OECD Countries: The Roles of Socioeconomic Inequality and Collective Stratification Beliefs. Acta Sociologica, 000169931984751. https://doi.org/10.1177/0001699319847515