Los modelos de ecuaciones estructurales (SEM) son una técnica de estadística multivariada que permite analizar patrones complejos de relaciones entre variables, incluyendo variables latentes (constructos que no se miden directamente, sino que se infieren a partir de varios ítems observados). Se pueden ver como varios análisis factoriales conectados que permiten efectos directos e indirectos entre los factores.
Tipos de fórmula en lavaan:
~): una variable depende de otras.=~): el factor se infiere de sus
indicadores.~~): relación entre variables (o
entre errores).:=): se usa para calcular efectos
indirectos y totales.Para decidir si un modelo es adecuado se revisan los índices de ajuste: χ² (idealmente no significativo, aunque es sensible al tamaño de muestra), CFI y TLI (≥ 0.95 bueno, ≥ 0.90 aceptable), RMSEA (≤ 0.06 bueno, ≤ 0.08 aceptable) y SRMR (≤ 0.08). “Depurar” el modelo significa quitar ítems con cargas bajas o liberar covarianzas de error para mejorar el ajuste.
# install.packages("lavaan"); install.packages("lavaanPlot"); install.packages("readxl")
library(lavaan) # latent variable analysis
library(lavaanPlot)
library(readxl)
Holzinger y Swineford aplicaron exámenes de habilidad mental a adolescentes de dos escuelas. Se busca identificar tres habilidades: visual (x1–x3), textual (x4–x6) y velocidad (x7–x9). La base viene incluida en lavaan.
df1 <- HolzingerSwineford1939
modelo1 <- '
visual =~ x1 + x2 + x3
textual =~ x4 + x5 + x6
velocidad =~ x7 + x8 + x9
'
fit1 <- cfa(modelo1, data = df1)
summary(fit1, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-21 ended normally after 35 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 21
##
## Number of observations 301
##
## Model Test User Model:
##
## Test statistic 85.306
## Degrees of freedom 24
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 918.852
## Degrees of freedom 36
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.931
## Tucker-Lewis Index (TLI) 0.896
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -3737.745
## Loglikelihood unrestricted model (H1) -3695.092
##
## Akaike (AIC) 7517.490
## Bayesian (BIC) 7595.339
## Sample-size adjusted Bayesian (SABIC) 7528.739
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.092
## 90 Percent confidence interval - lower 0.071
## 90 Percent confidence interval - upper 0.114
## P-value H_0: RMSEA <= 0.050 0.001
## P-value H_0: RMSEA >= 0.080 0.840
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.065
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## visual =~
## x1 1.000 0.900 0.772
## x2 0.554 0.100 5.554 0.000 0.498 0.424
## x3 0.729 0.109 6.685 0.000 0.656 0.581
## textual =~
## x4 1.000 0.990 0.852
## x5 1.113 0.065 17.014 0.000 1.102 0.855
## x6 0.926 0.055 16.703 0.000 0.917 0.838
## velocidad =~
## x7 1.000 0.619 0.570
## x8 1.180 0.165 7.152 0.000 0.731 0.723
## x9 1.082 0.151 7.155 0.000 0.670 0.665
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## visual ~~
## textual 0.408 0.074 5.552 0.000 0.459 0.459
## velocidad 0.262 0.056 4.660 0.000 0.471 0.471
## textual ~~
## velocidad 0.173 0.049 3.518 0.000 0.283 0.283
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .x1 0.549 0.114 4.833 0.000 0.549 0.404
## .x2 1.134 0.102 11.146 0.000 1.134 0.821
## .x3 0.844 0.091 9.317 0.000 0.844 0.662
## .x4 0.371 0.048 7.779 0.000 0.371 0.275
## .x5 0.446 0.058 7.642 0.000 0.446 0.269
## .x6 0.356 0.043 8.277 0.000 0.356 0.298
## .x7 0.799 0.081 9.823 0.000 0.799 0.676
## .x8 0.488 0.074 6.573 0.000 0.488 0.477
## .x9 0.566 0.071 8.003 0.000 0.566 0.558
## visual 0.809 0.145 5.564 0.000 1.000 1.000
## textual 0.979 0.112 8.737 0.000 1.000 1.000
## velocidad 0.384 0.086 4.451 0.000 1.000 1.000
lavaanPlot(model = fit1, coefs = TRUE, covs = TRUE, stand = TRUE)
Las cargas estandarizadas de los tres factores son significativas y en su mayoría altas, así que los nueve ítems miden lo que se espera (habilidad visual, textual y de velocidad). El ajuste es aceptable pero no perfecto: CFI ≈ 0.93 y TLI ≈ 0.90 (aceptables), mientras que el RMSEA ≈ 0.09 queda un poco alto y la χ² sale significativa. Es un modelo válido para estos datos, aunque se podría mejorar liberando alguna covarianza de error (por ejemplo entre ítems de velocidad, que suelen correlacionarse por el formato de la prueba).
Es el ejemplo clásico de Bollen. Se modelan tres constructos:
industrialización en 1960 (ind60), democracia política en
1960 (dem60) y democracia política en 1965
(dem65). La base también viene en lavaan.
df2 <- PoliticalDemocracy
modelo2 <- '
# Modelo de medición
ind60 =~ x1 + x2 + x3
dem60 =~ y1 + y2 + y3 + y4
dem65 =~ y5 + y6 + y7 + y8
# Modelo estructural
dem60 ~ ind60
dem65 ~ ind60 + dem60
# Covarianzas de error (indicadores medidos en 1960 y 1965)
y1 ~~ y5
y2 ~~ y4 + y6
y3 ~~ y7
y4 ~~ y8
y6 ~~ y8
'
fit2 <- sem(modelo2, data = df2)
summary(fit2, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-21 ended normally after 68 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 31
##
## Number of observations 75
##
## Model Test User Model:
##
## Test statistic 38.125
## Degrees of freedom 35
## P-value (Chi-square) 0.329
##
## Model Test Baseline Model:
##
## Test statistic 730.654
## Degrees of freedom 55
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.995
## Tucker-Lewis Index (TLI) 0.993
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -1547.791
## Loglikelihood unrestricted model (H1) -1528.728
##
## Akaike (AIC) 3157.582
## Bayesian (BIC) 3229.424
## Sample-size adjusted Bayesian (SABIC) 3131.720
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.035
## 90 Percent confidence interval - lower 0.000
## 90 Percent confidence interval - upper 0.092
## P-value H_0: RMSEA <= 0.050 0.611
## P-value H_0: RMSEA >= 0.080 0.114
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.044
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## ind60 =~
## x1 1.000 0.670 0.920
## x2 2.180 0.139 15.742 0.000 1.460 0.973
## x3 1.819 0.152 11.967 0.000 1.218 0.872
## dem60 =~
## y1 1.000 2.223 0.850
## y2 1.257 0.182 6.889 0.000 2.794 0.717
## y3 1.058 0.151 6.987 0.000 2.351 0.722
## y4 1.265 0.145 8.722 0.000 2.812 0.846
## dem65 =~
## y5 1.000 2.103 0.808
## y6 1.186 0.169 7.024 0.000 2.493 0.746
## y7 1.280 0.160 8.002 0.000 2.691 0.824
## y8 1.266 0.158 8.007 0.000 2.662 0.828
##
## Regressions:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## dem60 ~
## ind60 1.483 0.399 3.715 0.000 0.447 0.447
## dem65 ~
## ind60 0.572 0.221 2.586 0.010 0.182 0.182
## dem60 0.837 0.098 8.514 0.000 0.885 0.885
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .y1 ~~
## .y5 0.624 0.358 1.741 0.082 0.624 0.296
## .y2 ~~
## .y4 1.313 0.702 1.871 0.061 1.313 0.273
## .y6 2.153 0.734 2.934 0.003 2.153 0.356
## .y3 ~~
## .y7 0.795 0.608 1.308 0.191 0.795 0.191
## .y4 ~~
## .y8 0.348 0.442 0.787 0.431 0.348 0.109
## .y6 ~~
## .y8 1.356 0.568 2.386 0.017 1.356 0.338
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .x1 0.082 0.019 4.184 0.000 0.082 0.154
## .x2 0.120 0.070 1.718 0.086 0.120 0.053
## .x3 0.467 0.090 5.177 0.000 0.467 0.239
## .y1 1.891 0.444 4.256 0.000 1.891 0.277
## .y2 7.373 1.374 5.366 0.000 7.373 0.486
## .y3 5.067 0.952 5.324 0.000 5.067 0.478
## .y4 3.148 0.739 4.261 0.000 3.148 0.285
## .y5 2.351 0.480 4.895 0.000 2.351 0.347
## .y6 4.954 0.914 5.419 0.000 4.954 0.443
## .y7 3.431 0.713 4.814 0.000 3.431 0.322
## .y8 3.254 0.695 4.685 0.000 3.254 0.315
## ind60 0.448 0.087 5.173 0.000 1.000 1.000
## .dem60 3.956 0.921 4.295 0.000 0.800 0.800
## .dem65 0.172 0.215 0.803 0.422 0.039 0.039
lavaanPlot(model = fit2, coefs = TRUE, stand = TRUE)
El modelo ajusta muy bien: χ² no significativa (p ≈ 0.33), CFI ≈ 0.99, TLI ≈ 0.99, RMSEA ≈ 0.03 y SRMR ≈ 0.04, todos dentro de los rangos de buen ajuste. La industrialización de 1960 predice positivamente la democracia de 1960 y de 1965, y la democracia de 1960 predice la de 1965, es decir, hay estabilidad temporal del constructo. Las covarianzas de error entre los mismos indicadores medidos en años distintos eran necesarias y mejoran el ajuste.
# El archivo Datos_SEM_Eng.xlsx debe estar en la misma carpeta que este .Rmd
datos <- read_excel("Datos_SEM_Eng.xlsx", sheet = "Hoja1")
names(datos) <- trimws(names(datos)) # limpiar espacios al final de los nombres
dim(datos)
## [1] 223 51
Las experiencias de recuperación tienen cuatro dominios (desapego, relajación, maestría y control) que, a su vez, se explican por un factor de segundo orden. Primero estimo el modelo con todos los ítems disponibles.
mod_p1_completo <- '
Desapego =~ RPD01 + RPD02 + RPD03 + RPD05 + RPD06 + RPD07 + RPD08 + RPD09 + RPD10
Relajacion =~ RRE02 + RRE03 + RRE04 + RRE05 + RRE06 + RRE07 + RRE10
Maestria =~ RMA02 + RMA03 + RMA04 + RMA05 + RMA06 + RMA07 + RMA08 + RMA09 + RMA10
Control =~ RCO02 + RCO03 + RCO04 + RCO05 + RCO06 + RCO07
Recuperacion =~ Desapego + Relajacion + Maestria + Control
'
fit_p1c <- cfa(mod_p1_completo, data = datos)
fitMeasures(fit_p1c, c("chisq","df","cfi","tli","rmsea","srmr"))
## chisq df cfi tli rmsea srmr
## 1221.031 430.000 0.888 0.879 0.091 0.075
Depuración. Revisando las cargas estandarizadas más
bajas y los índices de modificación (modindices(fit_p1c)),
los ítems RPD01, RPD06, RMA02 y RMA06 son los que menos
aportan. Al eliminarlos, el ajuste mejora.
mod_p1 <- '
Desapego =~ RPD02 + RPD03 + RPD05 + RPD07 + RPD08 + RPD09 + RPD10
Relajacion =~ RRE02 + RRE03 + RRE04 + RRE05 + RRE06 + RRE07 + RRE10
Maestria =~ RMA03 + RMA04 + RMA05 + RMA07 + RMA08 + RMA09 + RMA10
Control =~ RCO02 + RCO03 + RCO04 + RCO05 + RCO06 + RCO07
Recuperacion =~ Desapego + Relajacion + Maestria + Control
'
fit_p1 <- cfa(mod_p1, data = datos)
fitMeasures(fit_p1, c("chisq","df","cfi","tli","rmsea","srmr"))
## chisq df cfi tli rmsea srmr
## 809.630 320.000 0.920 0.913 0.083 0.059
lavaanPlot(model = fit_p1, coefs = TRUE, stand = TRUE)
El CFI sube de ≈ 0.89 a ≈ 0.92 y el RMSEA baja de ≈ 0.09 a ≈ 0.083. El modelo depurado alcanza un ajuste aceptable y confirma que los cuatro dominios cargan sobre un factor de segundo orden de experiencias de recuperación.
mod_p2 <- 'Energia =~ EN01 + EN02 + EN04 + EN05 + EN06 + EN07 + EN08'
fit_p2 <- cfa(mod_p2, data = datos)
summary(fit_p2, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-21 ended normally after 32 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 14
##
## Number of observations 223
##
## Model Test User Model:
##
## Test statistic 47.222
## Degrees of freedom 14
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 2324.436
## Degrees of freedom 21
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.986
## Tucker-Lewis Index (TLI) 0.978
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -2017.154
## Loglikelihood unrestricted model (H1) -1993.543
##
## Akaike (AIC) 4062.308
## Bayesian (BIC) 4110.008
## Sample-size adjusted Bayesian (SABIC) 4065.641
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.103
## 90 Percent confidence interval - lower 0.072
## 90 Percent confidence interval - upper 0.136
## P-value H_0: RMSEA <= 0.050 0.004
## P-value H_0: RMSEA >= 0.080 0.892
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.012
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## Energia =~
## EN01 1.000 1.674 0.893
## EN02 1.029 0.044 23.192 0.000 1.723 0.933
## EN04 0.999 0.044 22.583 0.000 1.672 0.924
## EN05 0.999 0.042 23.649 0.000 1.672 0.939
## EN06 0.986 0.042 23.722 0.000 1.651 0.940
## EN07 1.049 0.046 22.856 0.000 1.755 0.928
## EN08 1.036 0.043 24.173 0.000 1.734 0.946
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .EN01 0.711 0.074 9.651 0.000 0.711 0.202
## .EN02 0.444 0.049 9.012 0.000 0.444 0.130
## .EN04 0.481 0.052 9.214 0.000 0.481 0.147
## .EN05 0.375 0.042 8.830 0.000 0.375 0.118
## .EN06 0.359 0.041 8.798 0.000 0.359 0.116
## .EN07 0.499 0.055 9.129 0.000 0.499 0.139
## .EN08 0.353 0.041 8.580 0.000 0.353 0.105
## Energia 2.801 0.327 8.565 0.000 1.000 1.000
Las siete cargas son altas y significativas, con CFI ≈ 0.99 y TLI ≈ 0.98, lo que confirma que los ítems de energía se agrupan en una sola dimensión. El RMSEA queda un poco por encima de 0.08; si se quisiera afinar, se podría liberar la covarianza de error entre dos ítems muy parecidos (según los índices de modificación), pero el constructo es claramente unidimensional.
Se evalúa si la energía recuperada media el efecto de las experiencias de recuperación sobre el engagement laboral. El engagement se modela como factor de segundo orden (vigor, dedicación, absorción).
mod_p3 <- '
# Medición
Desapego =~ RPD02 + RPD03 + RPD05 + RPD07 + RPD08 + RPD09 + RPD10
Relajacion =~ RRE02 + RRE03 + RRE04 + RRE05 + RRE06 + RRE07 + RRE10
Maestria =~ RMA03 + RMA04 + RMA05 + RMA07 + RMA08 + RMA09 + RMA10
Control =~ RCO02 + RCO03 + RCO04 + RCO05 + RCO06 + RCO07
Recuperacion =~ Desapego + Relajacion + Maestria + Control
Energia =~ EN01 + EN02 + EN04 + EN05 + EN06 + EN07 + EN08
Vigor =~ EVI01 + EVI02 + EVI03
Dedicacion =~ EDE01 + EDE02 + EDE03
Absorcion =~ EAB01 + EAB02 + EAB03
Engagement =~ Vigor + Dedicacion + Absorcion
# Estructural (mediación)
Energia ~ a*Recuperacion
Engagement ~ b*Energia + c*Recuperacion
# Efectos
indirecto := a*b
directo := c
total := c + (a*b)
'
fit_p3 <- sem(mod_p3, data = datos)
summary(fit_p3, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-21 ended normally after 66 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 96
##
## Number of observations 223
##
## Model Test User Model:
##
## Test statistic 2002.925
## Degrees of freedom 850
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 12238.430
## Degrees of freedom 903
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.898
## Tucker-Lewis Index (TLI) 0.892
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -13966.019
## Loglikelihood unrestricted model (H1) -12964.557
##
## Akaike (AIC) 28124.039
## Bayesian (BIC) 28451.127
## Sample-size adjusted Bayesian (SABIC) 28146.891
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.078
## 90 Percent confidence interval - lower 0.074
## 90 Percent confidence interval - upper 0.082
## P-value H_0: RMSEA <= 0.050 0.000
## P-value H_0: RMSEA >= 0.080 0.230
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.064
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## Desapego =~
## RPD02 1.000 1.667 0.856
## RPD03 0.950 0.064 14.914 0.000 1.584 0.797
## RPD05 1.098 0.061 17.887 0.000 1.829 0.883
## RPD07 1.019 0.062 16.374 0.000 1.699 0.842
## RPD08 0.941 0.066 14.368 0.000 1.569 0.779
## RPD09 1.105 0.062 17.816 0.000 1.841 0.881
## RPD10 1.124 0.063 17.826 0.000 1.873 0.881
## Relajacion =~
## RRE02 1.000 1.275 0.850
## RRE03 1.120 0.065 17.288 0.000 1.428 0.871
## RRE04 1.021 0.058 17.628 0.000 1.302 0.880
## RRE05 1.052 0.056 18.693 0.000 1.341 0.908
## RRE06 1.245 0.074 16.918 0.000 1.588 0.861
## RRE07 1.121 0.071 15.835 0.000 1.430 0.829
## RRE10 0.814 0.067 12.129 0.000 1.038 0.698
## Maestria =~
## RMA03 1.000 1.587 0.781
## RMA04 1.049 0.071 14.879 0.000 1.666 0.877
## RMA05 1.010 0.070 14.492 0.000 1.604 0.860
## RMA07 0.978 0.067 14.498 0.000 1.552 0.860
## RMA08 0.993 0.068 14.603 0.000 1.576 0.865
## RMA09 0.921 0.068 13.582 0.000 1.462 0.819
## RMA10 0.931 0.071 13.050 0.000 1.477 0.794
## Control =~
## RCO02 1.000 1.632 0.855
## RCO03 0.945 0.049 19.164 0.000 1.542 0.910
## RCO04 0.794 0.044 18.101 0.000 1.295 0.884
## RCO05 0.814 0.043 18.924 0.000 1.329 0.904
## RCO06 0.837 0.045 18.407 0.000 1.365 0.892
## RCO07 0.836 0.046 18.202 0.000 1.364 0.887
## Recuperacion =~
## Desapego 1.000 0.712 0.712
## Relajacion 0.886 0.096 9.228 0.000 0.824 0.824
## Maestria 0.829 0.114 7.260 0.000 0.619 0.619
## Control 1.182 0.124 9.497 0.000 0.859 0.859
## Energia =~
## EN01 1.000 1.678 0.896
## EN02 1.027 0.044 23.421 0.000 1.723 0.933
## EN04 0.998 0.044 22.875 0.000 1.675 0.925
## EN05 0.996 0.042 23.840 0.000 1.671 0.939
## EN06 0.982 0.041 23.859 0.000 1.649 0.939
## EN07 1.044 0.045 22.965 0.000 1.753 0.926
## EN08 1.033 0.042 24.400 0.000 1.733 0.946
## Vigor =~
## EVI01 1.000 1.684 0.967
## EVI02 0.985 0.028 35.283 0.000 1.659 0.962
## EVI03 0.996 0.048 20.545 0.000 1.677 0.836
## Dedicacion =~
## EDE01 1.000 1.868 0.952
## EDE02 0.907 0.034 26.377 0.000 1.695 0.922
## EDE03 0.570 0.037 15.539 0.000 1.066 0.754
## Absorcion =~
## EAB01 1.000 1.607 0.917
## EAB02 0.711 0.051 13.823 0.000 1.143 0.752
## EAB03 0.735 0.063 11.599 0.000 1.181 0.671
## Engagement =~
## Vigor 1.000 0.901 0.901
## Dedicacion 1.213 0.061 19.814 0.000 0.985 0.985
## Absorcion 0.958 0.059 16.371 0.000 0.904 0.904
##
## Regressions:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## Energia ~
## Recuperacn (a) 1.170 0.123 9.547 0.000 0.827 0.827
## Engagement ~
## Energia (b) 0.401 0.107 3.762 0.000 0.443 0.443
## Recuperacn (c) 0.298 0.158 1.885 0.059 0.233 0.233
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .RPD02 1.017 0.112 9.079 0.000 1.017 0.268
## .RPD03 1.443 0.150 9.621 0.000 1.443 0.365
## .RPD05 0.946 0.110 8.637 0.000 0.946 0.220
## .RPD07 1.189 0.129 9.245 0.000 1.189 0.292
## .RPD08 1.598 0.164 9.729 0.000 1.598 0.394
## .RPD09 0.976 0.113 8.673 0.000 0.976 0.224
## .RPD10 1.008 0.116 8.668 0.000 1.008 0.223
## .RRE02 0.624 0.067 9.252 0.000 0.624 0.277
## .RRE03 0.648 0.072 8.977 0.000 0.648 0.241
## .RRE04 0.492 0.056 8.826 0.000 0.492 0.225
## .RRE05 0.383 0.047 8.195 0.000 0.383 0.176
## .RRE06 0.881 0.097 9.122 0.000 0.881 0.259
## .RRE07 0.930 0.098 9.459 0.000 0.930 0.313
## .RRE10 1.136 0.113 10.087 0.000 1.136 0.513
## .RMA03 1.607 0.167 9.623 0.000 1.607 0.389
## .RMA04 0.831 0.097 8.550 0.000 0.831 0.230
## .RMA05 0.905 0.102 8.851 0.000 0.905 0.260
## .RMA07 0.845 0.096 8.846 0.000 0.845 0.260
## .RMA08 0.835 0.095 8.772 0.000 0.835 0.252
## .RMA09 1.051 0.113 9.342 0.000 1.051 0.330
## .RMA10 1.282 0.134 9.542 0.000 1.282 0.370
## .RCO02 0.978 0.104 9.391 0.000 0.978 0.269
## .RCO03 0.493 0.058 8.476 0.000 0.493 0.172
## .RCO04 0.468 0.052 9.014 0.000 0.468 0.218
## .RCO05 0.393 0.046 8.619 0.000 0.393 0.182
## .RCO06 0.479 0.054 8.881 0.000 0.479 0.204
## .RCO07 0.505 0.056 8.972 0.000 0.505 0.213
## .EN01 0.695 0.072 9.659 0.000 0.695 0.198
## .EN02 0.443 0.049 9.063 0.000 0.443 0.130
## .EN04 0.472 0.051 9.236 0.000 0.472 0.144
## .EN05 0.378 0.042 8.907 0.000 0.378 0.119
## .EN06 0.366 0.041 8.900 0.000 0.366 0.119
## .EN07 0.507 0.055 9.209 0.000 0.507 0.142
## .EN08 0.354 0.041 8.659 0.000 0.354 0.105
## .EVI01 0.199 0.039 5.047 0.000 0.199 0.065
## .EVI02 0.224 0.040 5.619 0.000 0.224 0.075
## .EVI03 1.213 0.124 9.773 0.000 1.213 0.301
## .EDE01 0.363 0.065 5.604 0.000 0.363 0.094
## .EDE02 0.506 0.067 7.569 0.000 0.506 0.150
## .EDE03 0.864 0.087 9.921 0.000 0.864 0.432
## .EAB01 0.489 0.103 4.765 0.000 0.489 0.159
## .EAB02 1.003 0.109 9.187 0.000 1.003 0.434
## .EAB03 1.706 0.176 9.719 0.000 1.706 0.550
## .Desapego 1.370 0.195 7.029 0.000 0.493 0.493
## .Relajacion 0.521 0.086 6.047 0.000 0.320 0.320
## .Maestria 1.553 0.239 6.508 0.000 0.616 0.616
## .Control 0.696 0.126 5.530 0.000 0.261 0.261
## Recuperacion 1.408 0.272 5.174 0.000 1.000 1.000
## .Energia 0.891 0.137 6.521 0.000 0.316 0.316
## .Vigor 0.536 0.085 6.330 0.000 0.189 0.189
## .Dedicacion 0.102 0.090 1.138 0.255 0.029 0.029
## .Absorcion 0.473 0.112 4.234 0.000 0.183 0.183
## .Engagement 1.331 0.171 7.798 0.000 0.579 0.579
##
## Defined Parameters:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## indirecto 0.469 0.131 3.588 0.000 0.367 0.367
## directo 0.298 0.158 1.885 0.059 0.233 0.233
## total 0.766 0.106 7.260 0.000 0.599 0.599
lavaanPlot(model = fit_p3, coefs = TRUE, stand = TRUE)
Efectos directos e indirectos. La ruta recuperación
→ energía (a) y la ruta energía → engagement
(b) son significativas, por lo que el efecto
indirecto (a*b) también lo es. En cambio, el
efecto directo de recuperación sobre engagement
(c) resulta no significativo (p ≈ 0.06)
una vez que la energía está en el modelo. Esto indica una
mediación total: las experiencias de recuperación no
impactan directamente el engagement, sino a través de la energía
recuperada. En la práctica, descansar mejor recupera energía, y esa
energía es la que se traduce en engagement.
El modelo de medición toma los mismos constructos de la Parte 3 pero sin caminos direccionales: los tres constructos (recuperación, energía y engagement) quedan solo correlacionados.
mod_p4 <- '
Desapego =~ RPD02 + RPD03 + RPD05 + RPD07 + RPD08 + RPD09 + RPD10
Relajacion =~ RRE02 + RRE03 + RRE04 + RRE05 + RRE06 + RRE07 + RRE10
Maestria =~ RMA03 + RMA04 + RMA05 + RMA07 + RMA08 + RMA09 + RMA10
Control =~ RCO02 + RCO03 + RCO04 + RCO05 + RCO06 + RCO07
Recuperacion =~ Desapego + Relajacion + Maestria + Control
Energia =~ EN01 + EN02 + EN04 + EN05 + EN06 + EN07 + EN08
Vigor =~ EVI01 + EVI02 + EVI03
Dedicacion =~ EDE01 + EDE02 + EDE03
Absorcion =~ EAB01 + EAB02 + EAB03
Engagement =~ Vigor + Dedicacion + Absorcion
'
fit_p4 <- cfa(mod_p4, data = datos)
fitMeasures(fit_p4, c("chisq","df","cfi","tli","rmsea","srmr"))
## chisq df cfi tli rmsea srmr
## 2002.925 850.000 0.898 0.892 0.078 0.064
El ajuste del modelo de medición es prácticamente igual al de la Parte 3 (CFI ≈ 0.90, RMSEA ≈ 0.078). Esto tiene sentido: como en la Parte 3 el modelo estructural entre los tres constructos está saturado (tres constructos, tres caminos), su ajuste depende únicamente de la parte de medición. Todos los constructos quedan bien definidos por sus indicadores y correlacionados entre sí.
El constructo de experiencias de recuperación se sostiene como un factor de segundo orden con cuatro dominios, y depurar cuatro ítems mejora el ajuste. La energía recuperada es unidimensional. Lo más relevante es que la energía media totalmente el efecto de la recuperación sobre el engagement: sin recuperar energía fuera del trabajo, las actividades de descanso por sí solas no elevan el engagement. La recomendación organizacional es promover el desapego y el descanso real fuera del horario laboral, porque es la vía por la que se recupera la energía que sostiene el engagement.
El estudio evalúa el Job Characteristics Model (JCM) de Hackman y Oldham con dos modelos en competencia:
Comparación de ajuste (Tabla 4 del artículo):
| Índice | Modelo 1 (con estados) | Modelo 2 (sin estados) | Regla |
|---|---|---|---|
| χ² (gl) | 124.25 (25) | 12.09 (3) | ns |
| GFI | 0.91 | 0.99 | > 0.90 |
| CFI | 0.89 | 0.98 | > 0.90 |
| RMSEA | 0.14 | 0.16 | < 0.08 |
| AIC / CAIC | 294.48 / 446.29 | 80.09 / 227.56 | menor = mejor |
| Rutas significativas | 12 de 14 | 7 de 15 | — |
| Varianza explicada | 42% / 42% / 38% | 37% / 43% / 32% | mayor = mejor |
¿Por qué eligen el Modelo 1 si el Modelo 2 ajusta mejor? Por los índices de ajuste (GFI, CFI, AIC, CAIC), el Modelo 2 gana. Pero los autores argumentan que comparar modelos requiere más que comparar el ajuste: importa la correspondencia con la teoría y la razonabilidad de los coeficientes. Tres razones concretas:
Lección. Un mejor ajuste no significa un mejor modelo. La selección de modelos no puede basarse solo en las métricas: la teoría, la interpretabilidad de los coeficientes y la utilidad práctica pesan igual o más. Elegir el Modelo 2 por sus índices habría llevado a intervenciones organizacionales mal dirigidas. Esto conecta con la idea de fondo del curso: no decidir por el número solo, sino por lo que el modelo realmente explica y por su sustento conceptual.