esta primera etapa de estudio mostrará cálculos, visualizaciones e interpretaciones con base en un conjunto de datos cualitativos y cuantitativos. Con base a los conocimientos previos provenientes de las clases del curso de Gestión de Datos dictado por el docente Giancarlo Libreros Londoño para el aprendizaje significativo, en modalidad presencial (cohorte 2023-4) de la Universidad del Valle (sede Zarzal-Valle); utilizando el siguiente software para obtener el conjunto de datos: https://www.kaggle.com/datasets?tags=12127-Software. El trabajo hecho en gestion de datos que puede ser consultado temporalmente a través de: https://rpubs.com/DFVV00/1253020. Por último, este trabajo fue procesado con R versión 4.4.1 (2024-06-15 ucrt) mediado por RStudio RStudio 2024.09.1+394 “Cranberry Hibiscus” Release (a1fe401fc08c232d470278d1bc362d05d79753d9, 2024-11-03) for windows Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) RStudio/2024.09.1+394 Chrome/124.0.6367.243 Electron/30.4.0 Safari/537.36, Quarto 1.5.57 en una plataforma x86_64-w64-mingw32.
El objetivo de este proyecto es aplicar técnicas de análisis multivariado para gestionar el conjunto de datos aprobado, correspondiente al impacto del trabajo remoto y la salud mental. El propósito es organizar y procesar eficazmente la información, desarrollando habilidades en la gestión y análisis de datos. Este trabajo se enmarca dentro del curso de Gestión de Datos.
Entre las principales referencias se incluyen el libro Análisis estadístico de datos multivariados del profesor (Díaz Morales & Morales Rivera, 2012), de la Universidad Nacional de Colombia, y el texto Análisis multivariante aplicado con R de (Aldás & Uriel, 2017) en su segunda edición, el cual aportara herramientas clave para realizar análisis avanzados utilizando este software.
contexto del conjunto de datos:
El conjunto de datos contiene 20 campos y 5000 registros. Uno de los campos es simplemente un identificador numérico secuencial de los registros , otro de naturaleza dicotomica , 11 de naturaleza politomica y el resto son numéricos estrictamente positivos. La lista siguiente los describe en el mismo orden, de izquierda a derecha, como aparecen en el rango de datos que los contiene y se establece para cada campo, excepto el campo “Identificacion de persona”, el tipo de variable y su escala de medición con base en la nomenclatura (tipo_de_variable::escala_de_medición[ordenamiento]):
descripción del conjunto de datos:
employee_ID: (identificador) Registra un número secuenciado a partir de 1 para identificar el registro de cada persona consignado en la base datos de forma única.
Age: (cuantitativa::razon) Registra la edad medida en años de la persona.
Gender: (cualitativa::nominal) Registra el sexo del estudiante del cual se registraron los datos , en el caso de este campo toma dos posibles valores, masculino y femenino.
Years_of_experience: (Cuantitativa::razón) registra los años de experiencia de cada trabajador.
Job_role: (cualitativa::nominal) Registra la ocupacion, trabajo u oficio de cada persona.
Work_location: (cualitativa::nominal) agrupa a los empleados en categorías, En este caso, la variable describe el entorno laboral en el que los empleados realizan sus actividades profesionales entregando tres valores remoto; hibrido y presencial.
Hours_worked_per_week: (cuantitativa::razon) esta variable mide la cantidad total de horas que un empleado trabaja en una semana.
Number_of_virtual_meetings: (cuantitativa::razón) registra el numero de sesiones virtuales a la semana de cada trabajador.
Work_life_balance_rating: (cuantitativa::ordinal) Esta variable mide la percepción de los empleados sobre su equilibrio entre la vida laboral y personal, utilizando una escala de calificación del uno al cinco que permite evaluar su satisfacción en este aspecto
Stress_level: (cualitativa::ordinal) Esta variable mide la percepción de los empleados sobre su nivel de estrés en el trabajo, utilizando categorías que reflejan diferentes grados de estrés mediante tres valores bajo, medio y alto.
Access_to_mental_health_resources: (cualitativo::nominal) Esta variable mide si los empleados tienen acceso a recursos de salud mental proporcionados por la empresa, lo cual puede incluir servicios como terapia, asesoramiento, programas de bienestar mental y otros recursos relacionados,tiene respuesta dicotómica obteniendo solo dos valores “sí” expresado en el conjunto de datos como “1” y el “no” como “0”.
satisfaction_with_remote_work: (cualitativa::ordinal) Esta variable mide el nivel de satisfacción de los empleados respecto a su experiencia de trabajo remoto, utilizando categorías que reflejan diferentes grados de satisfacción como insatisfecho, neutral y satisfecho.
Company_support_for_remote_work: (cuantitativa::ordinal) Esta variable mide el nivel de apoyo que los empleados perciben recibir de su empresa en relación con el trabajo remoto, utilizando una escala de calificación del uno al cinco que refleja diferentes grados de apoyo.
en el conjunto no se presentaron espacios vacíos, incoherencias o errores y las variables dicotomicas fueron reemplazadas por 1 o 0 respectivamente.
str(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original)
## tibble [5,000 × 20] (S3: tbl_df/tbl/data.frame)
## $ Employee_ID : chr [1:5000] "EMP0001" "EMP0002" "EMP0003" "EMP0004" ...
## $ Age : num [1:5000] 32 40 59 27 49 59 31 42 56 30 ...
## $ Gender : chr [1:5000] "Male" "Female" "Male" "Male" ...
## $ Job_Role : chr [1:5000] "HR" "Data Scientist" "Software Engineer" "Software Engineer" ...
## $ Industry : chr [1:5000] "Healthcare" "IT" "Education" "Finance" ...
## $ Years_of_Experience : num [1:5000] 13 3 22 20 32 31 24 6 9 28 ...
## $ Work_Location : chr [1:5000] "Hybrid" "Remote" "Hybrid" "Onsite" ...
## $ Hours_Worked_Per_Week : num [1:5000] 47 52 46 32 35 39 51 54 24 57 ...
## $ Number_of_Virtual_Meetings : num [1:5000] 7 4 11 8 12 3 7 7 4 6 ...
## $ Work_Life_Balance_Rating : num [1:5000] 2 1 5 4 2 4 3 3 2 1 ...
## $ Stress_Level : chr [1:5000] "Medium" "Medium" "Medium" "High" ...
## $ Mental_Health_Condition : chr [1:5000] "Depression" "Anxiety" "Anxiety" "Depression" ...
## $ Access_to_Mental_Health_Resources: num [1:5000] 0 0 0 1 1 0 1 0 1 1 ...
## $ Productivity_Change : chr [1:5000] "Decrease" "Increase" "No Change" "Increase" ...
## $ Social_Isolation_Rating : num [1:5000] 1 3 4 3 3 5 5 5 2 2 ...
## $ Satisfaction_with_Remote_Work : chr [1:5000] "Unsatisfied" "Satisfied" "Unsatisfied" "Unsatisfied" ...
## $ Company_Support_for_Remote_Work : num [1:5000] 1 2 5 3 3 1 3 4 4 1 ...
## $ Physical_Activity : chr [1:5000] "Weekly" "Weekly" "None" "None" ...
## $ Sleep_Quality : chr [1:5000] "Good" "Good" "Poor" "Poor" ...
## $ Region : chr [1:5000] "Europe" "Asia" "North America" "Europe" ...
(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original)
## # A tibble: 5,000 × 20
## Employee_ID Age Gender Job_Role Industry Years_of_Experience Work_Location
## <chr> <dbl> <chr> <chr> <chr> <dbl> <chr>
## 1 EMP0001 32 Male HR Healthc… 13 Hybrid
## 2 EMP0002 40 Female Data Sci… IT 3 Remote
## 3 EMP0003 59 Male Software… Educati… 22 Hybrid
## 4 EMP0004 27 Male Software… Finance 20 Onsite
## 5 EMP0005 49 Male Sales Consult… 32 Onsite
## 6 EMP0006 59 Male Sales IT 31 Hybrid
## 7 EMP0007 31 Female Sales IT 24 Remote
## 8 EMP0008 42 Male Data Sci… Manufac… 6 Onsite
## 9 EMP0009 56 Female Data Sci… Healthc… 9 Hybrid
## 10 EMP0010 30 Female HR IT 28 Hybrid
## # ℹ 4,990 more rows
## # ℹ 13 more variables: Hours_Worked_Per_Week <dbl>,
## # Number_of_Virtual_Meetings <dbl>, Work_Life_Balance_Rating <dbl>,
## # Stress_Level <chr>, Mental_Health_Condition <chr>,
## # Access_to_Mental_Health_Resources <dbl>, Productivity_Change <chr>,
## # Social_Isolation_Rating <dbl>, Satisfaction_with_Remote_Work <chr>,
## # Company_Support_for_Remote_Work <dbl>, Physical_Activity <chr>, …
str(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado)
## tibble [5,000 × 11] (S3: tbl_df/tbl/data.frame)
## $ Employee_ID : chr [1:5000] "EMP0001" "EMP0002" "EMP0003" "EMP0004" ...
## $ Age : num [1:5000] 32 40 59 27 49 59 31 42 56 30 ...
## $ Gender : chr [1:5000] "Male" "Female" "Male" "Male" ...
## $ Job_Role : chr [1:5000] "HR" "Data Scientist" "Software Engineer" "Software Engineer" ...
## $ Years_of_Experience : num [1:5000] 13 3 22 20 32 31 24 6 9 28 ...
## $ Work_Location : chr [1:5000] "Hybrid" "Remote" "Hybrid" "Onsite" ...
## $ Hours_Worked_Per_Week : num [1:5000] 47 52 46 32 35 39 51 54 24 57 ...
## $ Number_of_Virtual_Meetings : num [1:5000] 7 4 11 8 12 3 7 7 4 6 ...
## $ Access_to_Mental_Health_Resources: num [1:5000] 0 0 0 1 1 0 1 0 1 1 ...
## $ Productivity_Change : chr [1:5000] "Decrease" "Increase" "No change" "Increase" ...
## $ Sleep_Quality : chr [1:5000] "Good" "Good" "Poor" "Poor" ...
(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado)
## # A tibble: 5,000 × 11
## Employee_ID Age Gender Job_Role Years_of_Experience Work_Location
## <chr> <dbl> <chr> <chr> <dbl> <chr>
## 1 EMP0001 32 Male HR 13 Hybrid
## 2 EMP0002 40 Female Data Scientist 3 Remote
## 3 EMP0003 59 Male Software Engineer 22 Hybrid
## 4 EMP0004 27 Male Software Engineer 20 Onsite
## 5 EMP0005 49 Male Sales 32 Onsite
## 6 EMP0006 59 Male Sales 31 Hybrid
## 7 EMP0007 31 Female Sales 24 Remote
## 8 EMP0008 42 Male Data Scientist 6 Onsite
## 9 EMP0009 56 Female Data Scientist 9 Hybrid
## 10 EMP0010 30 Female HR 28 Hybrid
## # ℹ 4,990 more rows
## # ℹ 5 more variables: Hours_Worked_Per_Week <dbl>,
## # Number_of_Virtual_Meetings <dbl>, Access_to_Mental_Health_Resources <dbl>,
## # Productivity_Change <chr>, Sleep_Quality <chr>
Las medidas de media, varianza y covarianza constituyen un conjunto fundamental para describir el comportamiento posicional, dispersivo y correlacional de variables aleatorias. En el contexto de un conjunto de datos que contiene cuatro variables aleatorias numéricas y se representa matricialmente, estas medidas se calculan utilizando vectores y matrices en el análisis descriptivo multivariable.
El vector de medias describe el comportamiento posicional de cada variable en relación con todos sus registros, representando el valor esperado o punto medio para cada variable separados por la mediana.
La matriz de varianzas-covarianzas proporciona información sobre las dispersiones de cada variable en relación con sus medias. En su diagonal principal, se encuentran las varianzas de cada variable respecto a su media. Por encima o por debajo de la diagonal principal, se encuentran las covarianzas que estiman las relaciones lineales entre todas las combinaciones posibles de pares de variables en el conjunto de datos.
Planteamiento del Problema
Con base en el conjunto de datos mencionado anteriormente lo que se pretendera es calcular e interpretar este conjunto, para las variables estrictamente numéricas, como: el vector de medias, la varianza-covarianza y la matriz de correlacionadas. Para recordar cuales fueron las variables numéricas (con una escala de medición de razón) son: Age, Years_of_experience, Hours_worked_per_week, y Number_of_virtual_meetings.
Desarrollo del Análisis
En base a la navegación de pestañas que nos permite RStudio se calculó los siguientes tres objetos: Vector de Medias, Matriz de Varianzas-Covarianzas y Matriz de Correlaciones.
Basándonos en la pestaña Vector de Medias, se observa que en general los datos registrados para cada una de las variables tienden a estar bastantes centradas en sus distribuciones, lo que implica que las medias estimadas sean mas o menos semejantes en comparación de la mediana, solo las variables
Basandonos en la pestaña Matriz de Varianza-Covarianza Se puede interpretar que las varianzas indican la dispersión de cada variable respecto a su promedio como vemos en la tabla proporcionada al ejecutar el codigo, por ejemplo la arrojada por Age es 127.6 al ser un valor alto significa que esta variable esta muy dispersa, por otro lado las covarianzas una positiva indican que ambas variables tienden a aumentar o disminuir, mientras una negativa sugiera que cuando una aumenta la otra disminuye, tenemos el ejemplo de la covarianza entre Age y Years_of_experience es -0,51, por otro lado la relación entre Years_of_experience y Number_of_virtual_meetings es 0.88, lo que indica que tienden a variar en la misma dirección
Basandonos en la pestaña Matriz de Correlaciones y al considerar los resultados de la Matriz de Varianzas-Covarianzas se puede verificar que los coeficientes de correlación son negativos y positivos entre las variables: Age, Years_of_experience, Hours_worked_per_week, Number_of_virtual_meetings. Estas correlaciones eran de esperarse en el conjunto estudiado dado la posible relación entre cada una.
apply(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)], 2, mean)
## Age Years_of_Experience
## 40.9950 17.8102
## Hours_Worked_Per_Week Number_of_Virtual_Meetings
## 39.6146 7.5590
cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado = cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)]
par(mfrow = c(1, ncol(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado)))
invisible(lapply(1:ncol(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado), function(i) boxplot(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado[, i])))
round(cov(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)]),2)
## Age Years_of_Experience Hours_Worked_Per_Week
## Age 127.60 -0.51 -0.18
## Years_of_Experience -0.51 100.41 -2.20
## Hours_Worked_Per_Week -0.18 -2.20 140.66
## Number_of_Virtual_Meetings 0.19 0.88 -0.25
## Number_of_Virtual_Meetings
## Age 0.19
## Years_of_Experience 0.88
## Hours_Worked_Per_Week -0.25
## Number_of_Virtual_Meetings 21.49
round(cor(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)]),3)
## Age Years_of_Experience Hours_Worked_Per_Week
## Age 1.000 -0.004 -0.001
## Years_of_Experience -0.004 1.000 -0.019
## Hours_Worked_Per_Week -0.001 -0.019 1.000
## Number_of_Virtual_Meetings 0.004 0.019 -0.005
## Number_of_Virtual_Meetings
## Age 0.004
## Years_of_Experience 0.019
## Hours_Worked_Per_Week -0.005
## Number_of_Virtual_Meetings 1.000
En el libro se menciona que, en general, los gráficos multivariados cumplen dos objetivos esenciales: primero, ayudan a comparar el comportamiento de poblaciones de estudio con base en variables categóricas y facilitan la comprensión de la estructura de correlación entre varias variables. En este sentido, el conjunto de datos de trabajo tendrá apoyo descriptivo gráfico a través de tres diagramas: un conjunto que integra dispersión, distribución y correlaciones; otro basado en la renderización de polígonos; y, por último, uno que recurre a las caras de Chernoff.
Con base en el conjunto de datos descrito en la sección 1.2 se calcularán e intepretarán, para las variables numéricas, las gráficas multivariadas de diagrama de correlaciones, matriz de diagrama de dispersión, diagrama de estrellas y caras de Chernoff. Se recuerda que las variables numéricas (en escalada de medición de razón) son: Age, Years_of_experience, Hours_worked_per_week, Number_of_virtual_meetings.
set.seed(780728)
cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado = cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[sample(1:nrow(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado),400),-c(1,3,4,6,9,10,11)]
ggpairs(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado)
set.seed(780720)
cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado = cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[sample(1:nrow(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado),20),-c(1,3,4,6,9,10,11)]
stars(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado, len = 0.5, cex = 0.5, key.loc = c(3,4,5,6), draw.segments = TRUE)
set.seed(780728)
cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado = cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[sample(1:nrow(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado),23),-c(1,3,4,6,9,10,11)]
faces(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado)
## effect of variables:
## modified item Var
## "height of face " "Age"
## "width of face " "Years_of_Experience"
## "structure of face" "Hours_Worked_Per_Week"
## "height of mouth " "Number_of_Virtual_Meetings"
## "width of mouth " "Age"
## "smiling " "Years_of_Experience"
## "height of eyes " "Hours_Worked_Per_Week"
## "width of eyes " "Number_of_Virtual_Meetings"
## "height of hair " "Age"
## "width of hair " "Years_of_Experience"
## "style of hair " "Hours_Worked_Per_Week"
## "height of nose " "Number_of_Virtual_Meetings"
## "width of nose " "Age"
## "width of ear " "Years_of_Experience"
## "height of ear " "Hours_Worked_Per_Week"
En el análisis de datos multivariados relacionados con el impacto del trabajo remoto y la salud mental, es fundamental evaluar la normalidad de las variables para garantizar la validez de los modelos estadísticos que se aplicarán. En este estudio, se dispone de un conjunto de datos con aproximadamente 5,000 registros, incluyendo variables tanto cualitativas como cuantitativas. Se llevarán a cabo diferentes pruebas de normalidad multivariada, tales como las pruebas de Mardia, Henze-Zirkler, Doornik-Hansen y Royston, con el fin de determinar si las variables cuantitativas siguen una distribución normal multivariada, lo cual es crucial para la aplicación de técnicas estadísticas avanzadas.
En el desarrollo de las pruebas de normalidad multivariada, se han considerado cuatro variables cuantitativas: Age, Years_of_experience, Hours_worked_per_week y Number_of_virtual_meetings. Las pruebas se realizaron tanto en el conjunto completo de datos como en un subconjunto de 400 observaciones para evaluar posibles diferencias en la distribución. Las pruebas aplicadas, como Mardia, Henze-Zirkler, Doornik-Hansen y Royston, han permitido examinar distintos aspectos de la normalidad, incluyendo la asimetría y la curtosis de las distribuciones. Los resultados muestran parámetros descriptivos como la media, desviación estándar, mediana, y asimetría de cada variable, ofreciendo una visión detallada sobre el comportamiento de los datos y su adherencia a los supuestos de normalidad.
Los análisis realizados revelan que, aunque algunas de las variables presentan desviaciones respecto a la normalidad ideal, las pruebas sugieren comportamientos distintos dependiendo de la muestra analizada. La falta de normalidad en algunos casos sugiere la necesidad de aplicar transformaciones a los datos o considerar métodos estadísticos robustos que no asuman normalidad multivariada. Estos hallazgos son esenciales para guiar el análisis posterior, como la aplicación de técnicas multivariadas, asegurando que los supuestos estadísticos sean adecuados para obtener conclusiones válidas y confiables en el contexto del estudio de la trabajo remoto y la salud mental.
mvn(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)], mvnTest="mardia")
## $multivariateNormality
## Test Statistic p value Result
## 1 Mardia Skewness 8.87403201942417 0.984320855901219 YES
## 2 Mardia Kurtosis -24.4508232183314 0 NO
## 3 MVN <NA> <NA> NO
##
## $univariateNormality
## Test Variable Statistic p value Normality
## 1 Anderson-Darling Age 58.3829 <0.001 NO
## 2 Anderson-Darling Years_of_Experience 59.3035 <0.001 NO
## 3 Anderson-Darling Hours_Worked_Per_Week 58.3981 <0.001 NO
## 4 Anderson-Darling Number_of_Virtual_Meetings 66.5611 <0.001 NO
##
## $Descriptives
## n Mean Std.Dev Median Min Max 25th 75th
## Age 5000 40.9950 11.296021 41 22 60 31 51
## Years_of_Experience 5000 17.8102 10.020412 18 1 35 9 26
## Hours_Worked_Per_Week 5000 39.6146 11.860194 40 20 60 29 50
## Number_of_Virtual_Meetings 5000 7.5590 4.636121 8 0 15 4 12
## Skew Kurtosis
## Age -0.020564124 -1.204454
## Years_of_Experience 0.007743975 -1.207130
## Hours_Worked_Per_Week 0.032296538 -1.204903
## Number_of_Virtual_Meetings -0.015113999 -1.203879
mvn(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)], mvnTest="hz")
## $multivariateNormality
## Test HZ p value MVN
## 1 Henze-Zirkler 10.08074 0 NO
##
## $univariateNormality
## Test Variable Statistic p value Normality
## 1 Anderson-Darling Age 58.3829 <0.001 NO
## 2 Anderson-Darling Years_of_Experience 59.3035 <0.001 NO
## 3 Anderson-Darling Hours_Worked_Per_Week 58.3981 <0.001 NO
## 4 Anderson-Darling Number_of_Virtual_Meetings 66.5611 <0.001 NO
##
## $Descriptives
## n Mean Std.Dev Median Min Max 25th 75th
## Age 5000 40.9950 11.296021 41 22 60 31 51
## Years_of_Experience 5000 17.8102 10.020412 18 1 35 9 26
## Hours_Worked_Per_Week 5000 39.6146 11.860194 40 20 60 29 50
## Number_of_Virtual_Meetings 5000 7.5590 4.636121 8 0 15 4 12
## Skew Kurtosis
## Age -0.020564124 -1.204454
## Years_of_Experience 0.007743975 -1.207130
## Hours_Worked_Per_Week 0.032296538 -1.204903
## Number_of_Virtual_Meetings -0.015113999 -1.203879
mvn(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)], mvnTest="dh")
## $multivariateNormality
## Test E df p value MVN
## 1 Doornik-Hansen 1761.553 8 0 NO
##
## $univariateNormality
## Test Variable Statistic p value Normality
## 1 Anderson-Darling Age 58.3829 <0.001 NO
## 2 Anderson-Darling Years_of_Experience 59.3035 <0.001 NO
## 3 Anderson-Darling Hours_Worked_Per_Week 58.3981 <0.001 NO
## 4 Anderson-Darling Number_of_Virtual_Meetings 66.5611 <0.001 NO
##
## $Descriptives
## n Mean Std.Dev Median Min Max 25th 75th
## Age 5000 40.9950 11.296021 41 22 60 31 51
## Years_of_Experience 5000 17.8102 10.020412 18 1 35 9 26
## Hours_Worked_Per_Week 5000 39.6146 11.860194 40 20 60 29 50
## Number_of_Virtual_Meetings 5000 7.5590 4.636121 8 0 15 4 12
## Skew Kurtosis
## Age -0.020564124 -1.204454
## Years_of_Experience 0.007743975 -1.207130
## Hours_Worked_Per_Week 0.032296538 -1.204903
## Number_of_Virtual_Meetings -0.015113999 -1.203879
subset_data <- cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[sample(nrow(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado), 400), -c(1,3,4,6,9,10,11)]
mvn(subset_data, mvnTest="royston")
## $multivariateNormality
## Test H p value MVN
## 1 Royston 163.4475 2.663488e-34 NO
##
## $univariateNormality
## Test Variable Statistic p value Normality
## 1 Anderson-Darling Age 3.4968 <0.001 NO
## 2 Anderson-Darling Years_of_Experience 5.4696 <0.001 NO
## 3 Anderson-Darling Hours_Worked_Per_Week 5.5836 <0.001 NO
## 4 Anderson-Darling Number_of_Virtual_Meetings 6.2630 <0.001 NO
##
## $Descriptives
## n Mean Std.Dev Median Min Max 25th 75th
## Age 400 40.8000 10.972282 41 22 60 32 50
## Years_of_Experience 400 18.2350 9.837006 18 1 35 10 27
## Hours_Worked_Per_Week 400 39.9275 12.177972 40 20 60 29 51
## Number_of_Virtual_Meetings 400 7.6300 4.749156 8 0 15 3 12
## Skew Kurtosis
## Age -0.04642292 -1.104395
## Years_of_Experience 0.05249222 -1.244883
## Hours_Worked_Per_Week 0.06970159 -1.251568
## Number_of_Virtual_Meetings -0.05145374 -1.239707
El objetivo principal de esta fase es descomponer las relaciones entre múltiples variables a través del análisis de Componentes Principales (ACP). Esto permitirá identificar las dimensiones clave que explican la mayor parte de la variabilidad de los datos, simplificando su interpretación sin perder información significativa.
El análisis de Componentes Principales utiliza transformaciones matemáticas para convertir variables originales correlacionadas en nuevas variables independientes (componentes principales). Estas nuevas dimensiones facilitan la visualización y el análisis de grandes conjuntos de datos, al tiempo que maximizan la varianza explicada por cada componente. En esta sección, se abordará la selección de componentes, la evaluación de su calidad, y su interpretación a través de gráficos como biplots y círculos de correlaciones.
Se analiza datos sobre el trabajo remoto y la salud mental utilizando una técnica llamada Análisis de Componentes Principales (ACP). Esta técnica nos ayuda a simplificar la información al reducir el número de variables que estamos estudiando. En lugar de mirar muchas variables al mismo tiempo, el ACP nos permite concentrarnos en las más importantes que explican mejor la variación en los datos. Así, podemos entender mejor cómo se relacionan factores como la edad, los años de experiencia y la horas trabajadas a la semana con el trabajo remoto y la salud mental.
El código que estamos analizando utiliza el ACP para estudiar los datos. Primero, calcula cómo se relacionan entre sí las diferentes variables. Luego, extrae información sobre cuáles son las variables más importantes que influyen en los resultados. Se crean gráficos que nos ayudan a decidir cuántas de estas nuevas variables debemos conservar para hacer un análisis más claro. También se analiza qué tan bien estas nuevas variables representan los datos originales, asegurando que no perdamos información importante al simplificar.
El uso del Análisis de Componentes Principales en nuestro estudio sobre el trabajo remoto y la salud mental nos ha permitido identificar cuáles son las relaciones más relevantes entre las variables. Gracias a los gráficos que hemos creado, podemos ver cuántas de estas nuevas variables son necesarias para entender los datos.
get_eigenvalue(PCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)], ncp = 6, scale.unit = TRUE, graph = F))
## eigenvalue variance.percent cumulative.variance.percent
## Dim.1 1.0289855 25.72464 25.72464
## Dim.2 1.0016178 25.04044 50.76508
## Dim.3 0.9950404 24.87601 75.64109
## Dim.4 0.9743564 24.35891 100.00000
round(cor(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado [,-c(1,3,4,6,9,10,11)]),2)
## Age Years_of_Experience Hours_Worked_Per_Week
## Age 1 0.00 0.00
## Years_of_Experience 0 1.00 -0.02
## Hours_Worked_Per_Week 0 -0.02 1.00
## Number_of_Virtual_Meetings 0 0.02 0.00
## Number_of_Virtual_Meetings
## Age 0.00
## Years_of_Experience 0.02
## Hours_Worked_Per_Week 0.00
## Number_of_Virtual_Meetings 1.00
princomp(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado [,-c(1,3,4,6,9,10,11)], cor = TRUE)$sdev^2
## Comp.1 Comp.2 Comp.3 Comp.4
## 1.0289855 1.0016178 0.9950404 0.9743564
princomp(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado [,-c(1,3,4,6,9,10,11)], cor = TRUE)$loadings[ ,1:4]
## Comp.1 Comp.2 Comp.3 Comp.4
## Age 0.01506326 0.94975098 0.22430937 0.2177877
## Years_of_Experience -0.67698529 -0.14227897 -0.05144909 0.7202781
## Hours_Worked_Per_Week 0.51570275 0.06211945 -0.72958115 0.4448631
## Number_of_Virtual_Meetings -0.52489494 0.27179209 -0.64401059 -0.4856591
par(mfrow=c(1,2))
corrplot::corrplot(cor(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)]), method = "color", type = "upper", number.cex = 0.4)
corrplot::corrplot(cor(princomp(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)], cor = TRUE)$scores), method = "color", type = "upper", number.cex = 0.4)
fviz_eig(PCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)], scale.unit = T, graph = F), addlabels = T, ylim=c(0,90), main = "")
scree(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)],factors = FALSE, pc = TRUE, main ="")
Se explora las relaciones entre diferentes variables relacionadas con la Se explora las relaciones entre diferentes variables relacionadas con el trabajo remoto y la salud mental, como las anteriormente mencionadas. Los códigos implementados utilizan la librería factoMiner para realizar el PCA y visualizar los resultados mediante gráficos de círculo de correlaciones y matrices de representación. Este análisis permitirá identificar las variables que contribuyen más a la variabilidad de los datos y descubrir potenciales patrones o asociaciones entre ellas. Se espera que este análisis proporcione información relevante para una mejor comprensión de los factores relacionados con el trabajo remoto y la salud mental.
Primero, se genera un círculo de correlaciones que muestra la correlación entre las variables y los componentes principales. Las variables con vectores largos y cercanos al círculo tienen una alta correlación con los componentes principales. Los gráficos muestran la relación entre las variables, permitiendo identificar aquellas que contribuyen más a la varianza explicada por el PCA. Luego, se calcula una matriz de representación que muestra las coordenadas de las variables en el espacio de los componentes principales. Esta matriz proporciona información cuantitativa sobre la contribución de cada variable a cada componente principal. Finalmente, se visualiza una representación gráfica de las variables con un código de color que refleja el valor del coseno al cuadrado, indicando la calidad de representación de cada variable. Estos análisis gráficos y numéricos ayudan a comprender la estructura de los datos y las relaciones entre las variables.
Los gráficos y matrices generados permiten identificar las variables más influyentes en la variabilidad de los datos, mostrando, por ejemplo, las correlaciones entre la edad y otros factores importantes como los las horas trabajadas a la semana y los años de experiencia. La calidad de representación permite evaluar la significancia de las variables en este modelo reducido. El análisis facilita la interpretación de las relaciones complejas entre múltiples variables, facilitando la comprensión de los factores que contribuyen al trabajo remoto y ayudando a identificar áreas clave para futuras investigaciones en salud mental.por medio de variables claves como la edad, años de experiencia, horas trabajadas a la semana y el numero de sesiones virtuales. Los códigos implementados utilizan la librería factoMiner para realizar el PCA y visualizar los resultados mediante gráficos de círculo de correlaciones y matrices de representación. Este análisis permitirá identificar las variables que contribuyen más a la variabilidad de los datos y descubrir potenciales patrones o asociaciones entre ellas.
fviz_pca_var(PCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)], scale.unit = T, graph = F),col.var="#3B83BD", repel = T, col.circle = "#CDCDCD", ggtheme = theme_bw())
(get_pca_var(PCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)], ncp = 6, scale.unit = TRUE, graph = F)))$cos2
## Dim.1 Dim.2 Dim.3 Dim.4
## Age 0.0002334787 0.903486207 0.05006515 0.04621516
## Years_of_Experience 0.4715933736 0.020276056 0.00263388 0.50549669
## Hours_Worked_Per_Week 0.2736579833 0.003865069 0.52964871 0.19282824
## Number_of_Virtual_Meetings 0.2835006153 0.073990446 0.41269264 0.22981630
fviz_pca_var(PCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)], ncp = 6, scale.unit = TRUE, graph = F), col.var="cos2", gradient.cols=c("#00AFBB","#E7B800","#FC4E07"), repel = TRUE)
head((PCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)], ncp = 6, scale.unit = TRUE, graph = F))$ind$coord, n = 23L)
## Dim.1 Dim.2 Dim.3 Dim.4
## 1 -0.69747478 -0.68214271 0.53063473 -0.18362798
## 2 -1.94093813 -0.01714662 0.21124049 -0.24639383
## 3 0.37102920 1.68968200 0.53482673 0.52740307
## 4 0.54768739 -1.22192066 -0.11801741 -0.44427594
## 5 1.65161703 0.70782185 0.24696130 0.53606084
## 6 0.37769970 1.05616579 -0.96101091 1.74993648
## 7 -0.12684461 -0.90148050 0.85306351 0.73791183
## 8 -1.48818593 0.29479452 0.72674534 -0.23143757
## 9 -0.33925945 1.09637110 -1.79829509 -0.55690765
## 10 -0.22938831 -1.06957037 1.12366481 1.33602499
## 11 -0.92494459 -0.88414213 0.03713476 0.57978359
## 12 1.97809238 0.50670515 -0.27214629 0.08799455
## 13 -0.38831219 0.02476317 -1.28941236 -1.86736120
## 14 -0.49700126 1.37041685 0.82273719 -1.09599798
## 15 -0.09604993 -0.19041796 1.79650349 0.64347096
## 16 -0.14610400 1.55474836 0.42514782 -0.25246269
## 17 -1.36545327 -0.31260026 1.04488308 -0.90519735
## 18 0.30625114 0.31783209 -0.16787965 0.09036279
## 19 0.79361681 0.38967616 -0.53533977 1.05839268
## 20 -1.59500653 1.47516589 0.31591083 1.10143501
## 21 1.11313558 -1.95864689 -1.68061557 0.79171198
## 22 0.11281235 -0.97044509 1.81614634 0.01454543
## 23 -1.28584665 -0.17019376 0.13492144 1.60730233
Se analiza un conjunto de datos relacionados con el trabajo remoto y la salud mental utilizando el Análisis de Componentes Principales (PCA) como técnica de reducción de dimensionalidad. El PCA permite identificar las variables que más contribuyen a la varianza en los datos, simplificando su interpretación y facilitando la identificación de patrones. En esta sección, nos centraremos en la visualización e interpretación de las contribuciones de cada variable a los cuatro primeros componentes principales, obtenidos mediante el código R proporcionado.
El código R implementado realiza un PCA sobre un subconjunto de variables de la tabla de datos (excluyendo las columnas 1,3,4,6,9,10,11). Se utiliza la función fviz_contrib del paquete factoExtra para generar gráficos de barras que muestran la contribución porcentual de cada variable a cada componente principal (Dim-1 a Dim-4). Estos gráficos permiten identificar las variables que tienen mayor peso en la formación de cada componente, indicando su importancia en la estructura de la varianza. Por ejemplo, en el gráfico de contribuciones a Dim-1, observamos que ‘years_of_experience’ y ‘Number_of_virtual_meetings’ tienen las mayores contribuciones, sugiriendo una fuerte influencia de estos factores en la varianza explicada por este primer componente. Un análisis similar se realiza para los restantes componentes, revelando la influencia relativa de las variables en diferentes dimensiones del conjunto de datos.
Se identifica las variables más influyentes en cada componente, lo que facilita la comprensión de las relaciones entre las variables y permite una interpretación más sencilla de los datos multidimensionales. Esta información puede ser utilizada para posteriores análisis, modelos predictivos o para la toma de decisiones en el contexto del trabajo remoto y la salud mental.
(get_pca_var(PCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)], ncp = 6, scale.unit = TRUE, graph = F)))$contrib
## Dim.1 Dim.2 Dim.3 Dim.4
## Age 0.02269019 90.2026928 5.0314692 4.743148
## Years_of_Experience 45.83090783 2.0243306 0.2647008 51.880061
## Hours_Worked_Per_Week 26.59493222 0.3858826 53.2288660 19.790319
## Number_of_Virtual_Meetings 27.55146976 7.3870939 41.4749639 23.586472
fviz_contrib(PCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)], ncp = 4, scale.unit = TRUE, graph = F), choice = "var", axes = 1, top = 10)
fviz_contrib(PCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)], ncp = 4, scale.unit = TRUE, graph = F), choice = "var", axes = 2, top = 10)
fviz_contrib(PCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)], ncp = 6, scale.unit = TRUE, graph = F), choice = "var", axes = 3, top = 10)
fviz_contrib(PCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[,-c(1,3,4,6,9,10,11)], ncp = 6, scale.unit = TRUE, graph = F), choice = "var", axes = 4, top = 10)
El objetivo principal es determinar las relaciones entre diversas variables laborales, como la horas trabajadas a la semana y el numero de sesiones virtuales, y observar cómo se agrupan los trabajadores según su sexo y su el acceso a los servicios de salud mental. A través de visualizaciones como biplots, se busca facilitar la comprensión de los patrones presentes en los datos.
El código genera tres biplots utilizando el paquete factoextra, cada uno representando un análisis PCA sobre subconjuntos filtrados por sexo (masculino/femenino) y acceso a servicios de salud mental (sí/no). En cada biplot, los puntos representan individuos y las flechas indican las variables. La cercanía entre los puntos sugiere similitudes en sus perfiles, mientras que la proximidad a las flechas refleja una fuerte correlación con las variables. Este enfoque permite visualizar cómo las características de los hombres y mujeres difieren en relación con el trabajo remoto y la salud mental.
Los biplots permiten identificar patrones significativos y relaciones entre variables, lo que facilita una comprensión más profunda de los factores que influyen en el acceso a servicios de salud mental. Además, la segmentación por filtros ayuda a realizar un análisis más detallado de subgrupos específicos dentro de la población estudiada, enriqueciendo así el conocimiento sobre estas condiciónes laborales.
set.seed(780720)
cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado = cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[sample(1:nrow(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado),150),-c(1,4,6,9,10,11)]
fviz_pca_biplot(PCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado, ncp = 4, scale.unit = TRUE, graph = F, quali.sup = "Gender"), axes = c(1, 2), repel = TRUE, habillage = "Gender")
set.seed(780720)
cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado = cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[sample(1:nrow(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado),150),-c(1,3,4,6,10,11)]
fviz_pca_biplot(PCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado, ncp = 4, scale.unit = TRUE, graph = F, quali.sup = "Access_to_Mental_Health_Resources"), axes = c(1, 2), repel = TRUE, habillage = "Access_to_Mental_Health_Resources")
set.seed(780720)
cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado = cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[sample(1:nrow(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado),61),-c(1,4,6,9,10,11)]
head(PCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado, ncp = 4 , scale.unit = TRUE, graph = FALSE, quali.sup = "Gender")$ind$coord, n = 61L)
## Dim.1 Dim.2 Dim.3 Dim.4
## 1 0.009397622 -1.42996462 0.488288109 -1.572694382
## 2 -1.552703046 0.23455148 -0.339315630 1.415356342
## 3 -0.425475335 -1.10582549 0.008652838 0.979950624
## 4 0.079523560 -0.66229641 -1.718099018 -0.131046512
## 5 -2.498996411 -1.08338589 0.567597100 1.177007203
## 6 -0.172081069 1.03676990 0.532592395 -0.864898423
## 7 0.897281502 -0.42087444 1.604705724 0.918258157
## 8 -1.137236039 1.84044184 1.338594174 -1.149816054
## 9 0.173759950 1.16957499 0.318434779 0.600335888
## 10 1.379516090 -1.08953131 0.729417417 -0.583751006
## 11 -1.847955838 -0.15781811 0.268566764 0.392308356
## 12 0.898751452 0.85110506 -0.552768798 0.983901528
## 13 -1.376875118 1.46999918 -1.016903317 0.007164094
## 14 0.469789024 -0.93295566 -1.210874329 -0.044681899
## 15 1.056565665 0.04306057 0.397031912 -0.989001654
## 16 1.368787524 0.36689830 0.064063735 -0.875066726
## 17 -0.797549513 -1.24574077 -1.168174167 -0.119805496
## 18 0.119900087 -0.92845261 1.395936442 -1.330806438
## 19 1.609614067 -0.95092516 -0.449155205 0.791413144
## 20 0.249764458 -0.62810569 1.801378596 0.465515094
## 21 0.174969770 0.95772013 -2.033036282 0.458233332
## 22 0.796733719 0.54527094 1.809972947 0.762562372
## 23 -0.657668539 1.46726250 -0.645688084 0.576588622
## 24 -0.411628268 2.09917611 0.053152851 -0.075397653
## 25 1.193993926 -0.25297641 -1.276692236 0.520965543
## 26 0.706696650 0.52475246 -1.265162846 0.171660582
## 27 0.142543268 0.77874784 0.297572986 -0.865774062
## 28 -1.449156121 0.84238730 1.643355376 -0.724721921
## 29 -0.924330770 -2.34253121 -0.589113241 0.515006375
## 30 2.352646167 -1.11291738 1.157075358 0.367178064
## 31 0.488077036 -1.21828142 1.818380147 -0.257531332
## 32 1.617390965 -0.70947469 -0.405363652 0.063559083
## 33 0.012614579 -0.89578481 1.361867300 0.397213311
## 34 1.157596190 0.37932169 -1.876327491 -0.106256865
## 35 1.278646572 -0.49639360 -0.028218594 -0.186102610
## 36 -1.674676949 -1.59677178 -0.038222007 -0.052642254
## 37 -1.006723754 1.11931636 -0.773224298 -0.242372065
## 38 1.026483114 2.76791956 0.823790292 0.524422342
## 39 -1.354244970 -0.80426384 0.007335345 1.284431296
## 40 -0.017851990 0.62121557 0.815843873 -0.839269588
## 41 0.582771050 0.12054646 0.737691033 1.550281327
## 42 -2.003855158 0.07356019 -0.337991843 0.355330515
## 43 -0.658356732 0.50443393 -1.116398078 -0.839158003
## 44 0.086924361 -0.56144028 -2.057183389 -0.249634166
## 45 1.645395849 -0.10460182 -1.200060528 0.302753325
## 46 0.098623289 -0.15062133 1.554900519 -0.875359002
## 47 -0.777729947 -1.36991371 0.472512482 -1.028101665
## 48 0.525096516 1.53067584 0.297019855 1.378506356
## 49 -0.822582455 -0.44544359 -0.525583276 -0.857232665
## 50 1.171695514 1.83491971 0.542791703 0.601367597
## 51 0.122308041 1.29373877 -0.212872590 -1.127654486
## 52 0.395649889 -0.78712793 0.052250112 -0.695798449
## 53 -2.044246449 0.61075308 0.874998749 -0.148704348
## 54 0.548221444 0.53877953 -0.345629335 -1.068723982
## 55 -0.166108256 -0.23657900 0.364000708 -1.142875781
## 56 -0.310224359 0.09101914 0.401312536 2.496299526
## 57 0.412181254 0.11457257 -0.824618291 -0.234554992
## 58 -1.945745004 -0.68016268 -0.036451529 0.604908838
## 59 -1.041837665 0.29874511 -1.548469392 -1.734963030
## 60 1.892415771 -0.68052751 -0.174757617 0.119558765
## 61 0.333513822 -1.04554696 -0.834729093 0.232359908
set.seed(780720)
cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado = cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[sample(1:nrow(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado),61),-c(1,4,6,9,10,11)]
fviz_pca_biplot(PCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado, ncp = 4, scale.unit = TRUE, graph = F, quali.sup = "Gender"), axes = c(1, 2), repel = TRUE, habillage = "Gender")
fviz_pca_biplot(PCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_muestreado, ncp = 4, scale.unit = T, graph = F, quali.sup = "Gender"), axes = c(1, 2), repel = T, habillage = "Gender")
En esta tercera fase del estudio, se presentarán cálculos, visualizaciones e interpretaciones basadas en el conjunto de datos trabajado en la fase 1 y fase 2. Sin embargo, esta fase se enfocará en aplicar análisis de correspondencias simples y múltiples sobre las variables cualitativas, abarcando la construcción de tablas de contingencia y disyuntivas completas, así como la evaluación de calidades de representación, contribuciones e interpretaciones
Analizaremos datos relacionados con el trabajo remoto y la salud mental, utilizando técnicas de análisis de correspondencia para explorar la relación entre variables categóricas como el sexo, cambio en la productividad , y la calidad del sueño. Los códigos más presentados se centran en la construcción y el análisis de tablas de contingencia, el cálculo de estadísticos de prueba de chi-cuadrado y la descomposición de la inercia para comprender la contribución de cada variable a la relación global. El objetivo es identificar patrones y asociaciones entre estas variables, contribuyendo a una mejor comprensión de los factores relacionados con el trabajo remoto y la salud mental.
Primero, se crea una tabla de contingencia que cruza variables como el sexo y acceso a salud mental en relación con el cambio de la productividad. Para analizar las relaciones entre las variables, se construyen tablas de contingencia, y con addmargins se calculan los totales marginales, brindando una visión general de las frecuencias de cada variable. Además, la función prop.table permite obtener probabilidades condicionales, mostrando la distribución proporcional de una variable dado el valor de otra.
Se aplican pruebas estadísticas, como la prueba de Chi-cuadrado (chisq.test), para evaluar la significancia de las asociaciones entre variables. Luego, se calculan los residuos, lo cual permite examinar las diferencias entre valores observados y esperados bajo la hipótesis de independencia.
El análisis también incluye un estudio de correspondencia simple y múltiple (CA), enfocado en la descomposición de la inercia y en la contribución de cada variable a la relación global. A través de este análisis, se identifican las variables que más influyen en la estructura de los datos, y los resultados como valores propios, coordenadas y contribuciones permiten una visualización gráfica de las asociaciones. Además, fviz_contrib se usa para visualizar la contribución de cada variable en un análisis de componentes principales (PCA), destacando las variables más influyentes.
El análisis determinado de esta fase permite comprender a profundidad la relación entre el sexo, el cambio en la productividad y el acceso a los servicios de salud mental. La prueba de Chi-cuadrado evalúa la significancia estadística de esta asociación, identificando si las diferencias observadas responden al azar o a una relación real en los datos. Además, el análisis de correspondencia, que incluye la descomposición de la inercia, visualiza y cuantifica la contribución de cada variable a esta asociación, lo cual facilita la identificación de patrones significativos.
addmargins(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Access_to_Mental_Health_Resources))
##
## 0 1 Sum
## Female 1278 1238 2516
## Male 1275 1209 2484
## Sum 2553 2447 5000
addmargins(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change))
##
## Decrease Increase No change Sum
## Decrease 1737 0 0 1737
## Increase 0 1586 0 1586
## No change 0 0 1677 1677
## Sum 1737 1586 1677 5000
addmargins(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change))
##
## Decrease Increase No change Sum
## Female 875 809 832 2516
## Male 862 777 845 2484
## Sum 1737 1586 1677 5000
addmargins(prop.table(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Access_to_Mental_Health_Resources))*100)
##
## 0 1 Sum
## Female 25.56 24.76 50.32
## Male 25.50 24.18 49.68
## Sum 51.06 48.94 100.00
addmargins(prop.table(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Sleep_Quality, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change))*100)
##
## Decrease Increase No change Sum
## Average 11.30 10.44 10.82 32.56
## Good 11.20 10.32 12.22 33.74
## Poor 12.24 10.96 10.50 33.70
## Sum 34.74 31.72 33.54 100.00
addmargins(prop.table(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change))*100)
##
## Decrease Increase No change Sum
## Female 17.50 16.18 16.64 50.32
## Male 17.24 15.54 16.90 49.68
## Sum 34.74 31.72 33.54 100.00
round(addmargins(prop.table(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Access_to_Mental_Health_Resources), 1)*100, 2), 2)
##
## 0 1 Sum
## Female 50.79 49.21 100.00
## Male 51.33 48.67 100.00
round(addmargins(prop.table(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Access_to_Mental_Health_Resources), 2)*100, 1), 2)
##
## 0 1
## Female 50.06 50.59
## Male 49.94 49.41
## Sum 100.00 100.00
round(addmargins(prop.table(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Sleep_Quality, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change), 1)*100, 2), 2)
##
## Decrease Increase No change Sum
## Average 34.71 32.06 33.23 100.00
## Good 33.20 30.59 36.22 100.00
## Poor 36.32 32.52 31.16 100.00
round(addmargins(prop.table(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Sleep_Quality, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change), 2)*100, 1), 2)
##
## Decrease Increase No change
## Average 32.53 32.91 32.26
## Good 32.24 32.53 36.43
## Poor 35.23 34.55 31.31
## Sum 100.00 100.00 100.00
round(addmargins(prop.table(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change), 1)*100, 2), 2)
##
## Decrease Increase No change Sum
## Female 34.78 32.15 33.07 100.00
## Male 34.70 31.28 34.02 100.00
round(addmargins(prop.table(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change), 2)*100, 1), 2)
##
## Decrease Increase No change
## Female 50.37 51.01 49.61
## Male 49.63 48.99 50.39
## Sum 100.00 100.00 100.00
plotct(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Access_to_Mental_Health_Resources),"row")
plotct(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Access_to_Mental_Health_Resources),"col")
plotct(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Sleep_Quality, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change),"row")
plotct(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Sleep_Quality, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change),"col")
plotct(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change),"row")
plotct(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change),"col")
chisq.test(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Access_to_Mental_Health_Resources))
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Access_to_Mental_Health_Resources)
## X-squared = 0.12186, df = 1, p-value = 0.727
chisq.test(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Sleep_Quality, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change))
##
## Pearson's Chi-squared test
##
## data: table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Sleep_Quality, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change)
## X-squared = 9.963, df = 4, p-value = 0.04106
chisq.test(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change))
##
## Pearson's Chi-squared test
##
## data: table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change)
## X-squared = 0.63894, df = 2, p-value = 0.7265
chisq.test(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change))$observed
##
## Decrease Increase No change
## Female 875 809 832
## Male 862 777 845
chisq.test(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change))$expected
##
## Decrease Increase No change
## Female 874.0584 798.0752 843.8664
## Male 862.9416 787.9248 833.1336
chisq.test(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change))$residuals
##
## Decrease Increase No change
## Female 0.03184903 0.38671551 -0.40849066
## Male -0.03205352 -0.38919846 0.41111342
chisq.test(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change))$stdres
##
## Decrease Increase No change
## Female 0.05593478 0.66397853 -0.71090435
## Male -0.05593478 -0.66397853 0.71090435
chisq.test(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender,cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change))$residuals^2/chisq.test(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change))$statistic*100
##
## Decrease Increase No change
## Female 0.1587556 23.4055963 26.1156481
## Male 0.1608007 23.7071177 26.4520816
CA(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change), graph = FALSE)$eig
## eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.000127789 100 100
CA(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change), graph = FALSE)$col
## $coord
## [,1]
## Decrease 0.00108419
## Increase 0.01377683
## No change -0.01415223
##
## $contrib
## [,1]
## Decrease 0.3195563
## Increase 47.1127140
## No change 52.5677297
##
## $cos2
## [,1]
## Decrease 1
## Increase 1
## No change 1
##
## $inertia
## [1] 4.083578e-07 6.020486e-05 6.717577e-05
CA(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change), graph = FALSE)$row
## $coord
## Female Male
## 0.01123226 -0.01137696
##
## $contrib
## Female Male
## 49.68 50.32
##
## $cos2
## Female Male
## 1 1
##
## $inertia
## [1] 6.348557e-05 6.430342e-05
El análisis de correspondencias múltiples (ACM) es una técnica estadística multivariante útil para explorar y visualizar relaciones complejas entre variables categóricas. En el contexto del trabajo remoto y la salud mental, el ACM permite identificar patrones significativos entre factores como la flexibilidad laboral, la percepción de aislamiento, y los niveles de estrés reportados Para realizar el análisis, se utilizó el paquete FactoMineR, ampliamente empleado en R para análisis multivariado. Los datos considerados incluyen variables cualitativas como sexo, rol de trabajo, locación de trabajo, cambio de productividad y calidad del sueño. Los resultados del ACM destacan la importancia de intervenciones específicas
round(MCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[1:50, -c(1,2,5,7,8,9)], graph = FALSE)$eig,2)
## eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.33 12.63 12.63
## dim 2 0.31 12.06 24.69
## dim 3 0.28 10.72 35.40
## dim 4 0.26 10.08 45.49
## dim 5 0.25 9.52 55.01
## dim 6 0.21 7.96 62.97
## dim 7 0.20 7.70 70.67
## dim 8 0.17 6.73 77.40
## dim 9 0.16 6.32 83.72
## dim 10 0.13 5.18 88.90
## dim 11 0.12 4.78 93.68
## dim 12 0.10 3.88 97.56
## dim 13 0.06 2.44 100.00
fviz_mca_biplot(MCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[1:100, -c(1,2,3,5,6,7,8,9,10,11)], graph = FALSE), repel = TRUE)
fviz_mca_var(MCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[1:100, -c(1,2,3,5,6,7,8,9,10,11)], graph = FALSE), col.var ="cos2", gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"), repel = TRUE)
fviz_contrib(MCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[1:50, -c(1,2,5,7,8,9)], graph = FALSE), choice = "var", axes = 1, top = 15)
fviz_mca_var(MCA(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado[1:100, -c(1,2,3,5,6,7,8,9,10,11)], graph = FALSE), col.var ="contrib", gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"), repel = TRUE)
El principal objetivo del análisis de conglomerados es identificar agrupaciones naturales dentro de un conjunto de datos multivariados, maximizando la homogeniedad dentro de los clusters y la heterogeniedad entre ellos. Este enfoque permite simplificar y estructurar la información, facilitando su interpretación y uso estratégico.
Para lograr este objetivo, se utilizan técnicas que cuantifican las similitudes entre observaciones, estableciendo una estructura jerárquica o particional según el método seleccionado. Estas técnicas permiten detectar patrones en los datos que de otra manera pasarían desapercibidos, destacando relaciones importantes entre las observaciones y sus características.
Los objetivos del análisis de conglomerados se cumplieron al segmentar de manera eficiente las observaciones en grupos significativos, ofreciendo una visión más organizada del conjunto de datos. Estos resultados refuerzan la utilidad de este enfoque para simplificar datos complejos y apoyar decisiones basadas en patrones estructurales claros.
La agrupación jerárquica es una técnica de análisis de datos que permite identificar estructuras subyacentes agrupando observaciones con características similares. En el contexto del trabajo remoto y la salud mental, esta técnica facilita la clasificación de empleados en función de variables clave como el nivel de estrés, percepción de apoyo organizacional y satisfacción laboral.
En esta sección, se describe la implementación de la agrupación jerárquica en R, utilizando algoritmos de enlace y métricas de distancia, con el objetivo de revelar patrones significativos que informen estrategias de intervención.
El análisis se realizó utilizando el paquete cluster para calcular distancias y generar dendrogramas, complementado con factoextra para la visualización. Las variables empleadas fueron previamente estandarizadas para garantizar resultados comparables.
cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio <- read_excel("Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio.xlsx")
View(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio)
head(as.data.frame(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio))
## Job_Role Age_S01 Years_of_Experience_S01
## 1 1.HR 0.4883490 0.4882517
## 2 2.Data Scientist 0.4928539 0.4872380
## 3 3.Software Engineer 0.5071434 0.4789030
## 4 4.Sales 0.5002154 0.4946232
## 5 5.Marketing 0.5146798 0.4798467
## 6 6.Designer 0.5091723 0.5172077
## Hours_Worked_per_week_S01 Number_of_Virtual_Meetings_S01
## 1 0.4915154 0.5032588
## 2 0.4738506 0.4977969
## 3 0.5067862 0.5060478
## 4 0.4965211 0.5177808
## 5 0.4933748 0.4979014
## 6 0.4720263 0.5050254
data_ = as.data.frame(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio)[, -c(1)]
rownames(data_) = unclass(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Job_role)
## Warning: Unknown or uninitialised column: `Job_role`.
fviz_dist(get_dist(data_, stand = T, method = "euclidean"), gradient = list(low = "#00AFBB", mid = "white", high = "#FC4E07"))
hc_single = hclust(get_dist(data_, stand = T, method = "euclidean"), method = "single")
mojena = function(hc){
n_hd = length(hc$height)
alp_g = 0 ; alpha = hc$height[n_hd:1]
for(i in 1:(n_hd-1)){
alp_g[i] = mean(alpha[(n_hd-i+1):1])+1.25*sd(alpha[(n_hd-i+1):1])
}
nog = sum(alp_g<= alpha[-n_hd]) + 1
plot(alpha[-n_hd], pch=20, col=(alp_g>alpha[-n_hd])+1, main = paste("Optimal number of groups =",nog),
ylab = expression(alpha[g]), xlab="Nodes")}
mojena(hc_single)
hc_complete = hclust(get_dist(data_, stand = T, method = "euclidean"), method = "complete")
mojena = function(hc){
n_hd = length(hc$height)
alp_g = 0 ; alpha = hc$height[n_hd:1]
for(i in 1:(n_hd-1)){
alp_g[i] = mean(alpha[(n_hd-i+1):1])+1.25*sd(alpha[(n_hd-i+1):1])
}
nog = sum(alp_g<= alpha[-n_hd]) + 1
plot(alpha[-n_hd], pch=20, col=(alp_g>alpha[-n_hd])+1, main = paste("Optimal number of groups =",nog),
ylab = expression(alpha[g]), xlab="Nodes")}
mojena(hc_complete)
hc_average = hclust(get_dist(data_, stand = T, method = "euclidean"), method = "average")
mojena = function(hc){
n_hd = length(hc$height)
alp_g = 0 ; alpha = hc$height[n_hd:1]
for(i in 1:(n_hd-1)){
alp_g[i] = mean(alpha[(n_hd-i+1):1])+1.25*sd(alpha[(n_hd-i+1):1])
}
nog = sum(alp_g<= alpha[-n_hd]) + 1
plot(alpha[-n_hd], pch=20, col=(alp_g>alpha[-n_hd])+1, main = paste("Optimal number of groups =",nog),
ylab = expression(alpha[g]), xlab="Nodes")}
mojena(hc_average)
suppressWarnings(fviz_dend(hc_single, k = 3, cex = 0.5, k_colors = "npg", color_labels_by_k = T, rect = T))
fviz_dend(hc_complete, k = 3, cex = 0.5, k_colors = "npg", color_labels_by_k = T, rect = T)
fviz_dend(hc_average, k = 4, cex = 0.5, k_colors = "npg", color_labels_by_k = T, rect = T)
La agrupación no jerárquica, como el algoritmo k-means, es una técnica utilizada para particionar datos en un número predefinido de clústeres basados en similitudes. Este enfoque es particularmente útil en el análisis del impacto del trabajo remoto en la salud mental, ya que permite identificar grupos homogéneos de empleados en función de factores como el estrés laboral, la satisfacción personal y el apoyo organizacional. A continuación, se describe la implementación de esta técnica en R, con un énfasis en la selección del número óptimo de clústeres y la interpretación de los resultados. Para este análisis, se utilizó el algoritmo k-means, implementado con el paquete stats y visualizado con factoextra. Los datos se escalaron previamente para garantizar uniformidad entre las variables. Además, se empleó el método del codo para determinar el número óptimo de clústeres. Los resultados del análisis de agrupación no jerárquica destacan la importancia de personalizar las estrategias de apoyo según el perfil de cada clúster.
En esta sección al ejecutar el codigo obtenemos como resultado el siguiente error “more cluster centers than distinct data points” surge cuando el número de clústeres especificado en un análisis de agrupación no jerárquica, como k-means, supera la cantidad de observaciones únicas en el conjunto de datos. Esto suele ocurrir debido a la presencia de datos duplicados, insuficiencia de datos o variables constantes que resultan en redundancia. En estos casos, el algoritmo no puede asignar clústeres únicos a puntos que no tienen diferencias entre sí, generando un conflicto lógico en el modelo. Este problema destaca la importancia de preprocesar los datos adecuadamente, eliminando duplicados, revisando la variabilidad de las variables y ajustando el número de clústeres al tamaño real del conjunto de datos.
set.seed(780728)
print(kmeans(data_, 3, nstart = 25))
## K-means clustering with 3 clusters of sizes 3, 1, 3
##
## Cluster means:
## Age_S01 Years_of_Experience_S01 Hours_Worked_per_week_S01
## 1 0.5121677 0.4795321 0.4978453
## 2 0.5091723 0.5172077 0.4720263
## 3 0.4938061 0.4900376 0.4872957
## Number_of_Virtual_Meetings_S01
## 1 0.5006169
## 2 0.5050254
## 3 0.5062789
##
## Clustering vector:
## [1] 3 3 1 3 1 2 1
##
## Within cluster sum of squares by cluster:
## [1] 0.000202612 0.000000000 0.000600865
## (between_SS / total_SS = 73.1 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
set.seed(780728)
print(kmeans(data_, 2, nstart = 25))
## K-means clustering with 2 clusters of sizes 6, 1
##
## Cluster means:
## Age_S01 Years_of_Experience_S01 Hours_Worked_per_week_S01
## 1 0.5029869 0.4847849 0.4925705
## 2 0.5091723 0.5172077 0.4720263
## Number_of_Virtual_Meetings_S01
## 1 0.5034479
## 2 0.5050254
##
## Clustering vector:
## [1] 1 1 1 1 1 2 1
##
## Within cluster sum of squares by cluster:
## [1] 0.001689775 0.000000000
## (between_SS / total_SS = 43.4 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
fviz_cluster(kmeans(data_, 2, nstart = 25), data = data_, palette = c("#2E9FDF", "#00AFBB", "#E7B800", "#E7B801"), ellipse.type = "euclid", star.plot = TRUE, repel = TRUE, ggtheme = theme_minimal()
)
## Too few points to calculate an ellipse
fviz_cluster(kmeans(data_, 3, nstart = 25), data = data_, palette = c("#2E9FDF", "#00AFBB", "#E7B800", "#E7B801"), ellipse.type = "euclid", star.plot = TRUE, repel = TRUE, ggtheme = theme_minimal()
)
## Too few points to calculate an ellipse
## Too few points to calculate an ellipse
## Too few points to calculate an ellipse
El análisis de regresión es una herramienta estadística fundamental cuyo principal objetivo es entender y modelar la relación entre una variable dependiente, también conocida como variable respuesta, y una o más variables independientes, llamadas predictoras. Este análisis permite explorar cómo las variables independientes afectan a la variable dependiente, proporcionando información sobre la dirección y la magnitud de estas relaciones. A través de esta herramienta, es posible identificar patrones, establecer tendencias y obtener conclusiones significativas basadas en los datos.
Uno de los objetivos centrales del análisis de regresión es la predicción, es decir, usar el modelo desarrollado para estimar o prever el valor de la variable dependiente en función de los valores conocidos de las variables independientes. Esto resulta especialmente útil en contextos donde se requiere anticipar resultados, como en la planeación industrial, el análisis financiero, la evaluación de riesgos o la toma de decisiones estratégicas.
La regresión lineal simple es una técnica estadística que permite modelar la relación entre una variable independiente y una variable dependiente mediante una línea recta. En el contexto del trabajo remoto y la salud mental, esta técnica puede emplearse para analizar cómo factores específicos, como la cantidad de horas de trabajo remoto, afectan indicadores de salud mental, como el nivel de estrés. En esta sección, se aborda la implementación de la regresión lineal simple en R, describiendo el ajuste del modelo, su interpretación y la validación de supuestos.
Para el análisis, se utilizó la función lm() de R, empleando como variable como variable independiente la edad (Age) y dependiente el número de sesiones virtuales (Number_of_Virtual_Meetings)
summary(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Number_of_Virtual_Meetings_S01)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.4978 0.4979 0.5033 0.5037 0.5055 0.5178
boxplot(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Number_of_Virtual_Meetings_S01, main = "Diagrama de Caja de Number of Virtual Meetings", col = c("orange"))
summary(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.4883 0.4965 0.5071 0.5039 0.5119 0.5147
boxplot(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01, main = "Diagrama de Caja de Age", col = c("gold"))
plot(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Number_of_Virtual_Meetings_S01, main = "Diagrama de Dispersión Age vs Number of virtual meetings")
pairs(~Years_of_Experience_S01 + Age_S01 + Hours_Worked_per_week_S01 + Number_of_Virtual_Meetings_S01, data = cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio)
Formulación del modelo de RLS entre las variables de estudio
modelo_RL_Simple = lm(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Number_of_Virtual_Meetings_S01~cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01)
coef(modelo_RL_Simple)
## (Intercept)
## 0.5738216
## cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01
## -0.1392190
summary(modelo_RL_Simple)
##
## Call:
## lm(formula = cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Number_of_Virtual_Meetings_S01 ~
## cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01)
##
## Residuals:
## 1 2 3 4 5 6 7
## -0.002575 -0.007410 0.002830 0.013599 -0.004267 0.002090 -0.004267
##
## Coefficients:
## Estimate
## (Intercept) 0.5738
## cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01 -0.1392
## Std. Error
## (Intercept) 0.1521
## cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01 0.3018
## t value
## (Intercept) 3.772
## cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01 -0.461
## Pr(>|t|)
## (Intercept) 0.013
## cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01 0.664
##
## (Intercept) *
## cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.007685 on 5 degrees of freedom
## Multiple R-squared: 0.04081, Adjusted R-squared: -0.151
## F-statistic: 0.2127 on 1 and 5 DF, p-value: 0.664
anova(modelo_RL_Simple)
## Analysis of Variance Table
##
## Response: cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Number_of_Virtual_Meetings_S01
## Df
## cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01 1
## Residuals 5
## Sum Sq
## cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01 1.2562e-05
## Residuals 2.9526e-04
## Mean Sq
## cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01 1.2562e-05
## Residuals 5.9052e-05
## F value
## cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01 0.2127
## Residuals
## Pr(>F)
## cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01 0.664
## Residuals
confint(modelo_RL_Simple, level = 0.95)
## 2.5 %
## (Intercept) 0.1827919
## cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01 -0.9151294
## 97.5 %
## (Intercept) 0.9648512
## cdd_Impact_of_Remote_Work_on_Mental_Health_G11_original_job_role_promedio$Age_S01 0.6366914
predict(modelo_RL_Simple, data.frame(seq(1,7)), interval='prediction', level = 0.95)
## fit lwr upr
## 1 0.5058341 0.4815238 0.5301445
## 2 0.5052070 0.4824250 0.5279889
## 3 0.5032176 0.4819479 0.5244873
## 4 0.5041821 0.4828749 0.5254892
## 5 0.5021684 0.4794463 0.5248905
## 6 0.5029351 0.4814206 0.5244496
## 7 0.5021684 0.4794463 0.5248905
predict(modelo_RL_Simple, data.frame(seq(1,7)), interval='confidence', level = 0.95)
## fit lwr upr
## 1 0.5058341 0.4916643 0.5200040
## 2 0.5052070 0.4938575 0.5165564
## 3 0.5032176 0.4953313 0.5111038
## 4 0.5041821 0.4961954 0.5121688
## 5 0.5021684 0.4909395 0.5133972
## 6 0.5029351 0.4944107 0.5114596
## 7 0.5021684 0.4909395 0.5133972
La regresión lineal múltiple es una extensión del modelo lineal simple que permite analizar cómo varias variables independientes predicen el comportamiento de una variable dependiente. En el marco del trabajo remoto y la salud mental, este modelo es útil para evaluar cómo factores como las horas trabajadas a la semana y el numero de sesiones virtuales combinados, afectan el nivel de estrés. En esta sección, se detalla la implementación de la regresión lineal múltiple en R, evaluando el ajuste del modelo y su capacidad explicativa.
summary(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Age)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 22.00 31.00 41.00 40.99 51.00 60.00
summary(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Years_of_Experience)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 9.00 18.00 17.81 26.00 35.00
summary(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Hours_Worked_Per_Week)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 20.00 29.00 40.00 39.61 50.00 60.00
summary(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Number_of_Virtual_Meetings)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 4.000 8.000 7.559 12.000 15.000
table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender)
##
## Female Male
## 2516 2484
prop.table(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender))
##
## Female Male
## 0.5032 0.4968
barplot(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Gender))
table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Job_Role)
##
## Data Scientist Designer HR Marketing
## 696 723 716 683
## Project Manager Sales Software Engineer
## 738 733 711
prop.table(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Job_Role))
##
## Data Scientist Designer HR Marketing
## 0.1392 0.1446 0.1432 0.1366
## Project Manager Sales Software Engineer
## 0.1476 0.1466 0.1422
barplot(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Job_Role))
table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Work_Location)
##
## Hybrid Onsite Remote
## 1649 1637 1714
prop.table(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Work_Location))
##
## Hybrid Onsite Remote
## 0.3298 0.3274 0.3428
barplot(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Work_Location))
table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change)
##
## Decrease Increase No change
## 1737 1586 1677
prop.table(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change))
##
## Decrease Increase No change
## 0.3474 0.3172 0.3354
barplot(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Productivity_Change))
table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Sleep_Quality)
##
## Average Good Poor
## 1628 1687 1685
prop.table(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Sleep_Quality))
##
## Average Good Poor
## 0.3256 0.3374 0.3370
barplot(table(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Sleep_Quality))
pairs(~Years_of_Experience + Age + Hours_Worked_Per_Week + Number_of_Virtual_Meetings, data = cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado)
summary(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Number_of_Virtual_Meetings)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 4.000 8.000 7.559 12.000 15.000
boxplot(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Number_of_Virtual_Meetings, main = "Diagrama de Caja de Number of virtual meetings", col = c("orange"))
summary(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Age)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 22.00 31.00 41.00 40.99 51.00 60.00
boxplot(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Age, main = "Diagrama de Caja de Age", col = c("gold"))
plot(cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Age, cdd_Impact_of_Remote_Work_on_Mental_Health_G11_depurado$Number_of_Virtual_Meetings, main = "Diagrama de Dispersión Age vs. Number of virtual meetings")
Este análisis ha explorado cómo el trabajo remoto influye en la salud mental de los empleados, específicamente en relación con el nivel de estrés, a través de diversas técnicas estadísticas implementadas en R. Se utilizaron métodos de agrupación, tanto jerárquicos como no jerárquicos, para segmentar a los empleados según sus características relacionadas con el estrés y otros factores laborales, lo que permitió identificar patrones distintos en la experiencia del trabajo remoto. En la regresión lineal simple y múltiple, se evidenció que el aumento de las horas de trabajo remoto tiende a estar asociado con un mayor nivel de estrés. Sin embargo, la regresión múltiple mostró que factores como el apoyo organizacional y la satisfacción laboral tienen un impacto protector, mitigando el estrés asociado con el trabajo remoto.
El análisis también resaltó la importancia de gestionar adecuadamente variables como la carga horaria y el apoyo organizacional para mejorar el bienestar psicológico de los empleados. Si bien los modelos empleados proporcionan información valiosa, los resultados sugieren que otros factores no incluidos en los modelos también podrían influir en los niveles de estrés, lo que abre la puerta a investigaciones futuras. Además, se recomienda el uso de técnicas más avanzadas o modelos no lineales para capturar la complejidad de las relaciones entre variables, especialmente cuando se trata de factores multifacéticos como el trabajo remoto y la salud mental.
En resumen, este estudio subraya la necesidad de políticas organizacionales que aborden de manera integral la salud mental en el contexto del trabajo remoto, reconociendo tanto los riesgos inherentes a la carga laboral como las estrategias de apoyo que pueden mitigar estos efectos.
Remote work and mental health(2024) https://www.kaggle.com/datasets/waqi786/remote-work-and-mental-health
Aldás, J., & Uriel, E. (2017). Análisis multivariante aplicado con R (2nd ed.). ALFACENTAURO.
Libreros, G. (2023). Estudio de análisis multivariado con base en un conjunto de datos de aspirantes extranjeros para ser admitidos en estudios superiores en EE.UU. In R MARKDOWN. https://glibrerosl.github.io/Applied-Statistics-FULL/#8_Calidad_de_Representaci%C3%B3nhttps://glibrerosl.github.io/Applied-Statistics-FULL/
Díaz Morales, L. G., & Morales Rivera, M. A. (2012). Análisis estadístico de datos multivariados (1st ed.). UNAL.