Los modelos de ecuaciones estructurales son una tecnica de analisis de estadistica multivariada, que permite analizar patrones complejos de relaciones entre variables, realizar comparaciones entre e intragrupos y validar modelos teoricos y empiricos.

#install.packages("lavaan")
#install.packages("lavaanPlot")
#install.packages("readxl")

library(lavaan)
## This is lavaan 0.7-2
## lavaan is FREE software! Please report any bugs.
library(lavaanPlot)
library(readxl)

Ejercicio 1. Holzinger y Swineford

Holzinger y Swineford realizaron examenes de habilidad mental a adolescentes de 7 y 8 anos de dos escuelas (Pasteur y Grant-White).

La base de datos esta incluida como paquete en R, e incluye las siguientes columnas:

sex: genero (1=male, 2=female)
x1: Percepcion visual
x2: Juego en cubos
x3: Juego con pastillas/espacial
x4: Comprension de parrafos
x5: Completar oraciones
x6: Significado de palabras
x7: Sumas aceleradas
x8: Conteo acelerado de puntos
x9: Discriminacion acelerada de mayusculas rectas y curvas

Se busca identificar las relaciones entre las habilidades visuales (x1, x2, x3), textuales (x4, x5, x6) y de velocidad (x7, x8, x9) de los adolescentes.

Base de datos

df1 <- HolzingerSwineford1939
summary(df1)
##        id             sex            ageyr        agemo       
##  Min.   :  1.0   Min.   :1.000   Min.   :11   Min.   : 0.000  
##  1st Qu.: 82.0   1st Qu.:1.000   1st Qu.:12   1st Qu.: 2.000  
##  Median :163.0   Median :2.000   Median :13   Median : 5.000  
##  Mean   :176.6   Mean   :1.515   Mean   :13   Mean   : 5.375  
##  3rd Qu.:272.0   3rd Qu.:2.000   3rd Qu.:14   3rd Qu.: 8.000  
##  Max.   :351.0   Max.   :2.000   Max.   :16   Max.   :11.000  
##                                                               
##          school        grade             x1               x2       
##  Grant-White:145   Min.   :7.000   Min.   :0.6667   Min.   :2.250  
##  Pasteur    :156   1st Qu.:7.000   1st Qu.:4.1667   1st Qu.:5.250  
##                    Median :7.000   Median :5.0000   Median :6.000  
##                    Mean   :7.477   Mean   :4.9358   Mean   :6.088  
##                    3rd Qu.:8.000   3rd Qu.:5.6667   3rd Qu.:6.750  
##                    Max.   :8.000   Max.   :8.5000   Max.   :9.250  
##                    NAs    :1                                       
##        x3              x4              x5              x6        
##  Min.   :0.250   Min.   :0.000   Min.   :1.000   Min.   :0.1429  
##  1st Qu.:1.375   1st Qu.:2.333   1st Qu.:3.500   1st Qu.:1.4286  
##  Median :2.125   Median :3.000   Median :4.500   Median :2.0000  
##  Mean   :2.250   Mean   :3.061   Mean   :4.341   Mean   :2.1856  
##  3rd Qu.:3.125   3rd Qu.:3.667   3rd Qu.:5.250   3rd Qu.:2.7143  
##  Max.   :4.500   Max.   :6.333   Max.   :7.000   Max.   :6.1429  
##                                                                  
##        x7              x8               x9       
##  Min.   :1.304   Min.   : 3.050   Min.   :2.778  
##  1st Qu.:3.478   1st Qu.: 4.850   1st Qu.:4.750  
##  Median :4.087   Median : 5.500   Median :5.417  
##  Mean   :4.186   Mean   : 5.527   Mean   :5.374  
##  3rd Qu.:4.913   3rd Qu.: 6.100   3rd Qu.:6.083  
##  Max.   :7.435   Max.   :10.000   Max.   :9.250  
## 
str(df1)
## 'data.frame':    301 obs. of  15 variables:
##  $ id    : int  1 2 3 4 5 6 7 8 9 11 ...
##  $ sex   : int  1 2 2 1 2 2 1 2 2 2 ...
##  $ ageyr : int  13 13 13 13 12 14 12 12 13 12 ...
##  $ agemo : int  1 7 1 2 2 1 1 2 0 5 ...
##  $ school: Factor w/ 2 levels "Grant-White",..: 2 2 2 2 2 2 2 2 2 2 ...
##  $ grade : int  7 7 7 7 7 7 7 7 7 7 ...
##  $ x1    : num  3.33 5.33 4.5 5.33 4.83 ...
##  $ x2    : num  7.75 5.25 5.25 7.75 4.75 5 6 6.25 5.75 5.25 ...
##  $ x3    : num  0.375 2.125 1.875 3 0.875 ...
##  $ x4    : num  2.33 1.67 1 2.67 2.67 ...
##  $ x5    : num  5.75 3 1.75 4.5 4 3 6 4.25 5.75 5 ...
##  $ x6    : num  1.286 1.286 0.429 2.429 2.571 ...
##  $ x7    : num  3.39 3.78 3.26 3 3.7 ...
##  $ x8    : num  5.75 6.25 3.9 5.3 6.3 6.65 6.2 5.15 4.65 4.55 ...
##  $ x9    : num  6.36 7.92 4.42 4.86 5.92 ...
  1. Regresion (~): Variable que depende de otras.
  2. Variables latentes (=~): No se observa, se infiere.
  3. Varianzas y covarianzas (): Relaciones entre variables latentes y observadas.
    (Varianza entre si misma, covarianza entre otras).

Modelo factorial confirmatorio

modelo1 <- '
# Variables latentes
visual =~ x1 + x2 + x3
textual =~ x4 + x5 + x6
velocidad =~ x7 + x8 + x9
'
fit1 <- cfa(modelo1, df1)

summary(fit1,
        fit.measures = TRUE,
        standardized = TRUE)
## lavaan 0.7-2 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
## 
## Goodness of Fit Index:
## 
##   Goodness of Fit Index (GFI)                    0.959
##   90 Percent confidence interval - lower         0.939
##   90 Percent confidence interval - upper         0.976
## 
## 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(fit1, coef=TRUE, cov=TRUE)

Indices de ajuste

indices1 <- fitMeasures(
  fit1,
  c("chisq","df","pvalue","cfi","tli","rmsea","srmr")
)

round(indices1, 3)
##  chisq     df pvalue    cfi    tli  rmsea   srmr 
## 85.306 24.000  0.000  0.931  0.896  0.092  0.065

Modelo utilizando sem

fit11 <- sem(modelo1, df1)

summary(fit11,
        fit.measures = TRUE,
        standardized = TRUE)
## lavaan 0.7-2 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
## 
## Goodness of Fit Index:
## 
##   Goodness of Fit Index (GFI)                    0.959
##   90 Percent confidence interval - lower         0.939
##   90 Percent confidence interval - upper         0.976
## 
## 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(fit11, coef=TRUE, cov=TRUE)

Conclusiones

El modelo propone tres variables latentes distintas: habilidad visual, habilidad textual y velocidad. Cada una se mide mediante tres variables observables. La estructura permite comprobar si los nueve indicadores se agrupan de acuerdo con la teoria planteada.

Los principales indices de ajuste del modelo son CFI = 0.931, TLI = 0.896, RMSEA = 0.092 y SRMR = 0.065.

En general, el analisis factorial confirmatorio permite observar que las habilidades visuales, textuales y de velocidad pueden representarse como tres factores relacionados. El uso de cfa() es el mas adecuado para este ejercicio porque el objetivo principal es validar la estructura factorial propuesta.

Ejercicio 2. Democracia Politica e Industrializacion

Contexto

La base de datos contiene distintas mediciones sobre la democracia politica e industrializacion en paises en desarrollo durante 1960 y 1965.

La tabla incluye los siguientes datos:

y1: Calificaciones sobre libertad de prensa en 1960
y2: Libertad de la oposicion politica en 1960
y3: Imparcialidad de elecciones en 1960
y4: Eficacia de la legislatura electa en 1960
y5: Calificaciones sobre libertad de prensa en 1965
y6: Libertad de la oposicion politica en 1965
y7: Imparcialidad de elecciones en 1965
y8: Eficacia de la legislatura electa en 1965

Las variables x1, x2 y x3 son indicadores del nivel de industrializacion.

La democracia cuenta con derechos y libertades politicas como la libertad de expresion, derecho al voto, elecciones libres y justas, posibilidad de competir por cargos publicos y acceso a fuentes alternativas de informacion.

Base de datos

df2 <- PoliticalDemocracy
summary(df2)
##        y1               y2               y3               y4        
##  Min.   : 1.250   Min.   : 0.000   Min.   : 0.000   Min.   : 0.000  
##  1st Qu.: 2.900   1st Qu.: 0.000   1st Qu.: 3.767   1st Qu.: 1.581  
##  Median : 5.400   Median : 3.333   Median : 6.667   Median : 3.333  
##  Mean   : 5.465   Mean   : 4.256   Mean   : 6.563   Mean   : 4.453  
##  3rd Qu.: 7.500   3rd Qu.: 8.283   3rd Qu.:10.000   3rd Qu.: 6.667  
##  Max.   :10.000   Max.   :10.000   Max.   :10.000   Max.   :10.000  
##        y5               y6               y7               y8        
##  Min.   : 0.000   Min.   : 0.000   Min.   : 0.000   Min.   : 0.000  
##  1st Qu.: 3.692   1st Qu.: 0.000   1st Qu.: 3.478   1st Qu.: 1.301  
##  Median : 5.000   Median : 2.233   Median : 6.667   Median : 3.333  
##  Mean   : 5.136   Mean   : 2.978   Mean   : 6.196   Mean   : 4.043  
##  3rd Qu.: 7.500   3rd Qu.: 4.207   3rd Qu.:10.000   3rd Qu.: 6.667  
##  Max.   :10.000   Max.   :10.000   Max.   :10.000   Max.   :10.000  
##        x1              x2              x3       
##  Min.   :3.784   Min.   :1.386   Min.   :1.002  
##  1st Qu.:4.477   1st Qu.:3.663   1st Qu.:2.300  
##  Median :5.075   Median :4.963   Median :3.568  
##  Mean   :5.054   Mean   :4.792   Mean   :3.558  
##  3rd Qu.:5.515   3rd Qu.:5.830   3rd Qu.:4.523  
##  Max.   :6.737   Max.   :7.872   Max.   :6.425
str(df2)
## 'data.frame':    75 obs. of  11 variables:
##  $ y1: num  2.5 1.25 7.5 8.9 10 7.5 7.5 7.5 2.5 10 ...
##  $ y2: num  0 0 8.8 8.8 3.33 ...
##  $ y3: num  3.33 3.33 10 10 10 ...
##  $ y4: num  0 0 9.2 9.2 6.67 ...
##  $ y5: num  1.25 6.25 8.75 8.91 7.5 ...
##  $ y6: num  0 1.1 8.09 8.13 3.33 ...
##  $ y7: num  3.73 6.67 10 10 10 ...
##  $ y8: num  3.333 0.737 8.212 4.615 6.667 ...
##  $ x1: num  4.44 5.38 5.96 6.29 5.86 ...
##  $ x2: num  3.64 5.06 6.26 7.57 6.82 ...
##  $ x3: num  2.56 3.57 5.22 6.27 4.57 ...

Modelo de ecuaciones estructurales

modelo2 <- '
# Variables latentes
industrializacion =~ x1 + x2 + x3
democracia1960 =~ y1 + y2 + y3 + y4
democracia1965 =~ y5 + y6 + y7 + y8

# Regresiones
democracia1960 ~ industrializacion
democracia1965 ~ industrializacion + democracia1960

# Varianzas y covarianzas
y1 ~~ y5
y2 ~~ y4 + y6
y3 ~~ y7
y4 ~~ y8
y6 ~~ y8
'
fit2 <- sem(modelo2, df2)

summary(fit2,
        fit.measures = TRUE,
        standardized = TRUE)
## lavaan 0.7-2 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
## 
## Goodness of Fit Index:
## 
##   Goodness of Fit Index (GFI)                    1.000
##   90 Percent confidence interval - lower         0.959
##   90 Percent confidence interval - upper         1.000
## 
## 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
##   industrializacion =~                                                      
##     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
##   democracia1960 =~                                                         
##     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
##   democracia1965 =~                                                         
##     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
##   democracia1960 ~                                                      
##     industrializcn    1.483    0.399    3.715    0.000    0.447    0.447
##   democracia1965 ~                                                      
##     industrializcn    0.572    0.221    2.586    0.010    0.182    0.182
##     democracia1960    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
##     industrializcn    0.448    0.087    5.173    0.000    1.000    1.000
##    .democracia1960    3.956    0.921    4.295    0.000    0.800    0.800
##    .democracia1965    0.172    0.215    0.803    0.422    0.039    0.039
lavaanPlot(fit2, coef=TRUE, cov=TRUE)

Indices de ajuste

indices2 <- fitMeasures(
  fit2,
  c("chisq","df","pvalue","cfi","tli","rmsea","srmr")
)

round(indices2, 3)
##  chisq     df pvalue    cfi    tli  rmsea   srmr 
## 38.125 35.000  0.329  0.995  0.993  0.035  0.044

Coeficientes estandarizados

coeficientes2 <- standardizedSolution(fit2)

coeficientes2[
  coeficientes2$op == "~",
]
##               lhs op               rhs est.std    se      z pvalue ci.lower
## 12 democracia1960  ~ industrializacion   0.447 0.103  4.323   0.00    0.244
## 13 democracia1965  ~ industrializacion   0.182 0.070  2.587   0.01    0.044
## 14 democracia1965  ~    democracia1960   0.885 0.051 17.405   0.00    0.786
##    ci.upper
## 12    0.649
## 13    0.320
## 14    0.985
b_ind_dem60 <- coeficientes2$est.std[
  coeficientes2$lhs == "democracia1960" &
  coeficientes2$op == "~" &
  coeficientes2$rhs == "industrializacion"
]

b_ind_dem65 <- coeficientes2$est.std[
  coeficientes2$lhs == "democracia1965" &
  coeficientes2$op == "~" &
  coeficientes2$rhs == "industrializacion"
]

b_dem60_dem65 <- coeficientes2$est.std[
  coeficientes2$lhs == "democracia1965" &
  coeficientes2$op == "~" &
  coeficientes2$rhs == "democracia1960"
]

Conclusiones

El modelo relaciona tres variables latentes: industrializacion, democracia politica en 1960 y democracia politica en 1965. La industrializacion se utiliza como variable explicativa de la democracia en 1960 y 1965, mientras que la democracia de 1960 tambien se utiliza para explicar la democracia de 1965.

El coeficiente estandarizado de industrializacion sobre democracia en 1960 es 0.447. El efecto directo de industrializacion sobre democracia en 1965 es 0.182, mientras que el efecto de democracia en 1960 sobre democracia en 1965 es 0.885.

Los indices de ajuste son CFI = 0.995, TLI = 0.993, RMSEA = 0.035 y SRMR = 0.044. El modelo permite analizar simultaneamente la medicion de las variables latentes y los senderos estructurales entre industrializacion y democracia.

Ejercicio 3. Bienestar de los Colaboradores

Introduccion

Uno de los retos mas importantes de las organizaciones es entender el estado y bienestar de los colaboradores, ya que puede impactar directamente en el desempeño y el logro de los objetivos.

Para este ejercicio se utiliza la base Datos_SEM_Eng.xlsx y la descripcion de los instrumentos de medicion.

Cargar la base de datos

df3 <- read_excel("Datos_SEM_Eng.xlsx")

names(df3) <- trimws(names(df3))
summary(df3)
##        ID             GEN             EXPER            EDAD      
##  Min.   :  1.0   Min.   :0.0000   Min.   : 0.00   Min.   :22.00  
##  1st Qu.: 56.5   1st Qu.:0.0000   1st Qu.:15.00   1st Qu.:37.50  
##  Median :112.0   Median :1.0000   Median :20.00   Median :44.00  
##  Mean   :112.0   Mean   :0.5919   Mean   :21.05   Mean   :43.95  
##  3rd Qu.:167.5   3rd Qu.:1.0000   3rd Qu.:27.50   3rd Qu.:51.00  
##  Max.   :223.0   Max.   :1.0000   Max.   :50.00   Max.   :72.00  
##      RPD01           RPD02          RPD03           RPD05           RPD06      
##  Min.   :1.000   Min.   :1.00   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:3.00   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000  
##  Median :5.000   Median :4.00   Median :5.000   Median :5.000   Median :5.000  
##  Mean   :4.596   Mean   :4.09   Mean   :4.789   Mean   :4.327   Mean   :4.798  
##  3rd Qu.:6.000   3rd Qu.:6.00   3rd Qu.:7.000   3rd Qu.:6.000   3rd Qu.:7.000  
##  Max.   :7.000   Max.   :7.00   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##      RPD07           RPD08           RPD09           RPD10      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:2.500  
##  Median :4.000   Median :5.000   Median :5.000   Median :5.000  
##  Mean   :3.794   Mean   :4.735   Mean   :4.466   Mean   :4.435  
##  3rd Qu.:5.500   3rd Qu.:7.000   3rd Qu.:6.000   3rd Qu.:6.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##      RRE02           RRE03           RRE04           RRE05           RRE06    
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.0  
##  1st Qu.:5.000   1st Qu.:5.000   1st Qu.:5.000   1st Qu.:5.000   1st Qu.:4.0  
##  Median :6.000   Median :6.000   Median :6.000   Median :6.000   Median :6.0  
##  Mean   :5.691   Mean   :5.534   Mean   :5.668   Mean   :5.623   Mean   :5.3  
##  3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:7.0  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.0  
##      RRE07           RRE10           RMA02           RMA03      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:4.000   1st Qu.:5.000   1st Qu.:3.000   1st Qu.:3.000  
##  Median :6.000   Median :6.000   Median :4.000   Median :5.000  
##  Mean   :5.305   Mean   :5.664   Mean   :4.215   Mean   :4.377  
##  3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:6.000   3rd Qu.:6.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##      RMA04           RMA05           RMA06           RMA07      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:3.000   1st Qu.:5.000   1st Qu.:4.000  
##  Median :5.000   Median :5.000   Median :6.000   Median :5.000  
##  Mean   :4.686   Mean   :4.637   Mean   :5.511   Mean   :4.767  
##  3rd Qu.:6.000   3rd Qu.:6.000   3rd Qu.:7.000   3rd Qu.:6.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##      RMA08           RMA09           RMA10          RCO02           RCO03      
##  Min.   :1.000   Min.   :1.000   Min.   :1.00   Min.   :1.000   Min.   :1.000  
##  1st Qu.:4.000   1st Qu.:3.000   1st Qu.:3.00   1st Qu.:5.000   1st Qu.:5.000  
##  Median :5.000   Median :5.000   Median :5.00   Median :6.000   Median :6.000  
##  Mean   :4.942   Mean   :4.614   Mean   :4.43   Mean   :5.336   Mean   :5.574  
##  3rd Qu.:6.500   3rd Qu.:6.000   3rd Qu.:6.00   3rd Qu.:7.000   3rd Qu.:7.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.00   Max.   :7.000   Max.   :7.000  
##      RCO04           RCO05           RCO06           RCO07      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:5.000   1st Qu.:5.000   1st Qu.:5.000   1st Qu.:5.000  
##  Median :6.000   Median :6.000   Median :6.000   Median :6.000  
##  Mean   :5.704   Mean   :5.668   Mean   :5.619   Mean   :5.632  
##  3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:7.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##       EN01            EN02            EN04            EN05      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:4.000   1st Qu.:4.000   1st Qu.:4.000  
##  Median :5.000   Median :6.000   Median :5.000   Median :5.000  
##  Mean   :4.717   Mean   :5.004   Mean   :4.883   Mean   :4.928  
##  3rd Qu.:6.000   3rd Qu.:7.000   3rd Qu.:6.000   3rd Qu.:6.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##       EN06            EN07            EN08           EVI01      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :0.000  
##  1st Qu.:3.000   1st Qu.:3.000   1st Qu.:4.000   1st Qu.:4.000  
##  Median :5.000   Median :5.000   Median :5.000   Median :5.000  
##  Mean   :4.767   Mean   :4.578   Mean   :4.776   Mean   :5.013  
##  3rd Qu.:6.000   3rd Qu.:6.000   3rd Qu.:6.000   3rd Qu.:6.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##      EVI02           EVI03           EDE01           EDE02      
##  Min.   :0.000   Min.   :0.000   Min.   :0.000   Min.   :0.000  
##  1st Qu.:4.000   1st Qu.:4.000   1st Qu.:5.000   1st Qu.:5.000  
##  Median :6.000   Median :6.000   Median :6.000   Median :6.000  
##  Mean   :5.076   Mean   :4.973   Mean   :5.305   Mean   :5.543  
##  3rd Qu.:6.000   3rd Qu.:6.000   3rd Qu.:7.000   3rd Qu.:7.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##      EDE03           EAB01           EAB02           EAB03      
##  Min.   :0.000   Min.   :0.000   Min.   :0.000   Min.   :0.000  
##  1st Qu.:6.000   1st Qu.:5.000   1st Qu.:5.000   1st Qu.:5.000  
##  Median :7.000   Median :6.000   Median :6.000   Median :6.000  
##  Mean   :6.135   Mean   :5.605   Mean   :5.821   Mean   :5.363  
##  3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:7.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000
str(df3)
## tibble [223 × 51] (S3: tbl_df/tbl/data.frame)
##  $ ID   : num [1:223] 1 2 3 4 5 6 7 8 9 10 ...
##  $ GEN  : num [1:223] 1 1 1 1 1 0 0 1 1 1 ...
##  $ EXPER: num [1:223] 22 22 30 17 23 31 26 30 15 15 ...
##  $ EDAD : num [1:223] 45 44 52 41 51 52 53 48 40 38 ...
##  $ RPD01: num [1:223] 5 4 7 5 7 3 5 6 4 2 ...
##  $ RPD02: num [1:223] 1 4 7 5 6 4 5 7 4 3 ...
##  $ RPD03: num [1:223] 3 6 7 1 7 5 4 6 4 2 ...
##  $ RPD05: num [1:223] 2 5 7 1 6 4 4 7 4 3 ...
##  $ RPD06: num [1:223] 3 3 7 3 7 3 5 2 6 7 ...
##  $ RPD07: num [1:223] 1 2 6 5 6 5 6 5 4 1 ...
##  $ RPD08: num [1:223] 3 3 7 3 7 4 6 2 5 3 ...
##  $ RPD09: num [1:223] 2 4 7 2 6 4 7 4 4 2 ...
##  $ RPD10: num [1:223] 4 4 7 2 6 4 7 1 6 2 ...
##  $ RRE02: num [1:223] 6 6 7 6 7 5 7 5 6 7 ...
##  $ RRE03: num [1:223] 6 6 7 6 7 4 7 4 4 7 ...
##  $ RRE04: num [1:223] 6 6 7 6 7 4 7 4 6 7 ...
##  $ RRE05: num [1:223] 6 6 7 6 7 5 7 4 6 7 ...
##  $ RRE06: num [1:223] 6 6 7 6 7 4 7 4 6 7 ...
##  $ RRE07: num [1:223] 6 6 7 6 7 4 7 4 6 7 ...
##  $ RRE10: num [1:223] 6 6 7 6 7 4 7 4 6 7 ...
##  $ RMA02: num [1:223] 4 6 4 3 4 7 5 2 6 7 ...
##  $ RMA03: num [1:223] 5 6 5 4 4 7 5 1 2 7 ...
##  $ RMA04: num [1:223] 5 5 6 4 4 5 5 1 4 7 ...
##  $ RMA05: num [1:223] 5 5 6 4 4 6 5 3 4 7 ...
##  $ RMA06: num [1:223] 6 6 7 6 5 4 5 7 6 7 ...
##  $ RMA07: num [1:223] 4 6 6 5 4 5 7 4 6 7 ...
##  $ RMA08: num [1:223] 5 6 4 4 4 6 6 4 2 7 ...
##  $ RMA09: num [1:223] 3 5 4 3 5 4 5 2 4 7 ...
##  $ RMA10: num [1:223] 7 5 5 4 5 5 6 4 3 7 ...
##  $ RCO02: num [1:223] 7 7 7 5 7 6 7 7 3 7 ...
##  $ RCO03: num [1:223] 7 7 7 5 7 5 7 7 3 7 ...
##  $ RCO04: num [1:223] 7 7 7 6 7 4 7 7 3 7 ...
##  $ RCO05: num [1:223] 7 7 7 6 7 4 7 7 3 7 ...
##  $ RCO06: num [1:223] 7 7 7 6 7 4 7 7 4 7 ...
##  $ RCO07: num [1:223] 5 7 7 6 7 4 7 7 7 7 ...
##  $ EN01 : num [1:223] 6 6 7 4 6 4 7 7 4 7 ...
##  $ EN02 : num [1:223] 7 6 7 4 6 4 7 7 4 7 ...
##  $ EN04 : num [1:223] 6 6 7 4 6 4 7 6 4 7 ...
##  $ EN05 : num [1:223] 5 5 7 5 6 5 7 6 4 7 ...
##  $ EN06 : num [1:223] 5 5 7 5 6 3 7 5 5 7 ...
##  $ EN07 : num [1:223] 5 5 7 2 6 4 7 4 4 7 ...
##  $ EN08 : num [1:223] 6 5 7 5 6 4 7 4 4 7 ...
##  $ EVI01: num [1:223] 6 5 7 5 6 4 7 6 6 0 ...
##  $ EVI02: num [1:223] 6 5 7 6 6 4 6 5 5 1 ...
##  $ EVI03: num [1:223] 6 6 6 7 6 4 6 6 7 0 ...
##  $ EDE01: num [1:223] 6 6 6 5 7 6 7 7 7 1 ...
##  $ EDE02: num [1:223] 7 6 7 6 7 5 7 7 7 5 ...
##  $ EDE03: num [1:223] 7 7 7 7 7 5 7 7 7 6 ...
##  $ EAB01: num [1:223] 7 7 7 6 7 5 7 7 7 0 ...
##  $ EAB02: num [1:223] 7 7 7 6 7 5 7 2 5 1 ...
##  $ EAB03: num [1:223] 6 5 6 5 6 5 7 3 5 0 ...

Parte 1. Experiencias de Recuperacion

Las experiencias de recuperacion se dividen en cuatro dominios principales: desapego psicologico, relajacion, maestria y control sobre el tiempo libre.

Primero se construye el modelo con todos los reactivos disponibles en la base de datos.

Modelo inicial de segundo orden

modelo3_inicial <- '
# Variables latentes de primer orden
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

# Variable latente de segundo orden
experiencias_recuperacion =~ desapego + relajacion + maestria + control
'
fit3_inicial <- cfa(modelo3_inicial, df3)

summary(fit3_inicial,
        fit.measures = TRUE,
        standardized = TRUE)
## lavaan 0.7-2 ended normally after 47 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        66
## 
##   Number of observations                           223
## 
## Model Test User Model:
##                                                       
##   Test statistic                              1221.031
##   Degrees of freedom                               430
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                              7522.157
##   Degrees of freedom                               465
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.888
##   Tucker-Lewis Index (TLI)                       0.879
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -10616.148
##   Loglikelihood unrestricted model (H1)     -10005.632
##                                                       
##   Akaike (AIC)                               21364.296
##   Bayesian (BIC)                             21589.169
##   Sample-size adjusted Bayesian (SABIC)      21380.007
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.091
##   90 Percent confidence interval - lower         0.085
##   90 Percent confidence interval - upper         0.097
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    0.998
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.075
## 
## Goodness of Fit Index:
## 
##   Goodness of Fit Index (GFI)                    0.810
##   90 Percent confidence interval - lower         0.790
##   90 Percent confidence interval - upper         0.830
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                                Estimate  Std.Err  z-value  P(>|z|)   Std.lv
##   desapego =~                                                              
##     RPD01                         1.000                               1.386
##     RPD02                         1.206    0.082   14.780    0.000    1.672
##     RPD03                         1.143    0.085   13.374    0.000    1.584
##     RPD05                         1.312    0.086   15.244    0.000    1.818
##     RPD06                         1.088    0.089   12.266    0.000    1.507
##     RPD07                         1.229    0.085   14.440    0.000    1.703
##     RPD08                         1.164    0.087   13.447    0.000    1.613
##     RPD09                         1.317    0.087   15.153    0.000    1.826
##     RPD10                         1.346    0.088   15.258    0.000    1.866
##   relajacion =~                                                            
##     RRE02                         1.000                               1.274
##     RRE03                         1.120    0.065   17.227    0.000    1.427
##     RRE04                         1.025    0.058   17.713    0.000    1.306
##     RRE05                         1.055    0.056   18.758    0.000    1.344
##     RRE06                         1.245    0.074   16.869    0.000    1.586
##     RRE07                         1.117    0.071   15.689    0.000    1.423
##     RRE10                         0.815    0.067   12.120    0.000    1.038
##   maestria =~                                                              
##     RMA02                         1.000                               1.407
##     RMA03                         1.155    0.096   12.079    0.000    1.626
##     RMA04                         1.178    0.089   13.274    0.000    1.658
##     RMA05                         1.141    0.087   13.072    0.000    1.606
##     RMA06                         0.645    0.075    8.597    0.000    0.908
##     RMA07                         1.103    0.084   13.061    0.000    1.552
##     RMA08                         1.109    0.085   12.994    0.000    1.560
##     RMA09                         1.028    0.084   12.246    0.000    1.447
##     RMA10                         1.055    0.088   12.044    0.000    1.485
##   control =~                                                               
##     RCO02                         1.000                               1.630
##     RCO03                         0.948    0.049   19.182    0.000    1.545
##     RCO04                         0.796    0.044   18.110    0.000    1.297
##     RCO05                         0.818    0.043   18.990    0.000    1.333
##     RCO06                         0.834    0.046   18.216    0.000    1.360
##     RCO07                         0.835    0.046   18.057    0.000    1.361
##   experiencias_recuperacion =~                                             
##     desapego                      1.000                               0.713
##     relajacion                    1.149    0.131    8.787    0.000    0.892
##     maestria                      0.858    0.129    6.666    0.000    0.603
##     control                       1.341    0.156    8.605    0.000    0.813
##   Std.all
##          
##     0.788
##     0.858
##     0.797
##     0.878
##     0.745
##     0.844
##     0.800
##     0.874
##     0.878
##          
##     0.849
##     0.870
##     0.883
##     0.910
##     0.860
##     0.825
##     0.698
##          
##     0.730
##     0.800
##     0.873
##     0.861
##     0.579
##     0.860
##     0.856
##     0.810
##     0.798
##          
##     0.854
##     0.912
##     0.886
##     0.907
##     0.888
##     0.884
##          
##     0.713
##     0.892
##     0.603
##     0.813
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .RPD01             1.172    0.120    9.782    0.000    1.172    0.379
##    .RPD02             0.999    0.108    9.228    0.000    0.999    0.263
##    .RPD03             1.441    0.148    9.733    0.000    1.441    0.365
##    .RPD05             0.987    0.110    8.964    0.000    0.987    0.230
##    .RPD06             1.817    0.182    9.967    0.000    1.817    0.444
##    .RPD07             1.173    0.125    9.383    0.000    1.173    0.288
##    .RPD08             1.460    0.150    9.714    0.000    1.460    0.360
##    .RPD09             1.032    0.114    9.021    0.000    1.032    0.236
##    .RPD10             1.034    0.115    8.955    0.000    1.034    0.229
##    .RRE02             0.626    0.068    9.274    0.000    0.626    0.278
##    .RRE03             0.653    0.073    9.011    0.000    0.653    0.243
##    .RRE04             0.481    0.055    8.794    0.000    0.481    0.220
##    .RRE05             0.374    0.046    8.153    0.000    0.374    0.172
##    .RRE06             0.886    0.097    9.149    0.000    0.886    0.260
##    .RRE07             0.950    0.100    9.505    0.000    0.950    0.319
##    .RRE10             1.137    0.113   10.093    0.000    1.137    0.513
##    .RMA02             1.740    0.175    9.931    0.000    1.740    0.468
##    .RMA03             1.485    0.155    9.575    0.000    1.485    0.360
##    .RMA04             0.855    0.097    8.772    0.000    0.855    0.237
##    .RMA05             0.899    0.100    8.967    0.000    0.899    0.259
##    .RMA06             1.631    0.159   10.281    0.000    1.631    0.664
##    .RMA07             0.845    0.094    8.977    0.000    0.845    0.260
##    .RMA08             0.886    0.098    9.034    0.000    0.886    0.267
##    .RMA09             1.094    0.115    9.500    0.000    1.094    0.343
##    .RMA10             1.259    0.131    9.590    0.000    1.259    0.363
##    .RCO02             0.983    0.105    9.379    0.000    0.983    0.270
##    .RCO03             0.484    0.058    8.391    0.000    0.484    0.169
##    .RCO04             0.462    0.052    8.963    0.000    0.462    0.215
##    .RCO05             0.382    0.045    8.513    0.000    0.382    0.177
##    .RCO06             0.494    0.055    8.917    0.000    0.494    0.211
##    .RCO07             0.515    0.057    8.985    0.000    0.515    0.218
##    .desapego          0.943    0.152    6.207    0.000    0.491    0.491
##    .relajacion        0.333    0.089    3.757    0.000    0.205    0.205
##    .maestria          1.260    0.212    5.942    0.000    0.636    0.636
##    .control           0.900    0.159    5.666    0.000    0.339    0.339
##     exprncs_rcprcn    0.978    0.202    4.833    0.000    1.000    1.000
lavaanPlot(fit3_inicial, coef=TRUE, cov=TRUE)

Indices de ajuste del modelo inicial

indices3_inicial <- fitMeasures(
  fit3_inicial,
  c("chisq","df","pvalue","cfi","tli","rmsea","srmr")
)

round(indices3_inicial, 3)
##    chisq       df   pvalue      cfi      tli    rmsea     srmr 
## 1221.031  430.000    0.000    0.888    0.879    0.091    0.075

Depuracion del modelo

De acuerdo con la descripcion de los instrumentos, algunos reactivos fueron eliminados durante el proceso de depuracion. Varios de ellos ya no aparecen en la base de datos. Entre los reactivos que todavia aparecen en la base y se encuentran señalados como eliminados estan RPD01, RPD06, RMA02 y RMA06.

Por lo tanto, se vuelve a estimar el modelo sin estos reactivos.

modelo3_dep <- '
# Variables latentes de primer orden
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

# Variable latente de segundo orden
experiencias_recuperacion =~ desapego + relajacion + maestria + control
'
fit3_dep <- cfa(modelo3_dep, df3)

summary(fit3_dep,
        fit.measures = TRUE,
        standardized = TRUE)
## lavaan 0.7-2 ended normally after 46 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        58
## 
##   Number of observations                           223
## 
## Model Test User Model:
##                                                       
##   Test statistic                               809.630
##   Degrees of freedom                               320
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                              6496.999
##   Degrees of freedom                               351
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.920
##   Tucker-Lewis Index (TLI)                       0.913
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -9127.721
##   Loglikelihood unrestricted model (H1)      -8722.906
##                                                       
##   Akaike (AIC)                               18371.443
##   Bayesian (BIC)                             18569.059
##   Sample-size adjusted Bayesian (SABIC)      18385.249
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.083
##   90 Percent confidence interval - lower         0.076
##   90 Percent confidence interval - upper         0.090
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    0.750
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.059
## 
## Goodness of Fit Index:
## 
##   Goodness of Fit Index (GFI)                    0.852
##   90 Percent confidence interval - lower         0.831
##   90 Percent confidence interval - upper         0.872
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                                Estimate  Std.Err  z-value  P(>|z|)   Std.lv
##   desapego =~                                                              
##     RPD02                         1.000                               1.661
##     RPD03                         0.952    0.064   14.794    0.000    1.581
##     RPD05                         1.099    0.062   17.668    0.000    1.824
##     RPD07                         1.021    0.063   16.226    0.000    1.696
##     RPD08                         0.950    0.066   14.426    0.000    1.578
##     RPD09                         1.111    0.063   17.745    0.000    1.844
##     RPD10                         1.131    0.064   17.792    0.000    1.878
##   relajacion =~                                                            
##     RRE02                         1.000                               1.274
##     RRE03                         1.119    0.065   17.209    0.000    1.426
##     RRE04                         1.025    0.058   17.713    0.000    1.306
##     RRE05                         1.056    0.056   18.763    0.000    1.345
##     RRE06                         1.245    0.074   16.860    0.000    1.586
##     RRE07                         1.117    0.071   15.685    0.000    1.423
##     RRE10                         0.814    0.067   12.110    0.000    1.038
##   maestria =~                                                              
##     RMA03                         1.000                               1.592
##     RMA04                         1.047    0.070   14.948    0.000    1.666
##     RMA05                         1.008    0.069   14.563    0.000    1.605
##     RMA07                         0.975    0.067   14.550    0.000    1.552
##     RMA08                         0.989    0.068   14.645    0.000    1.575
##     RMA09                         0.917    0.067   13.610    0.000    1.460
##     RMA10                         0.928    0.071   13.084    0.000    1.477
##   control =~                                                               
##     RCO02                         1.000                               1.630
##     RCO03                         0.948    0.049   19.176    0.000    1.545
##     RCO04                         0.796    0.044   18.110    0.000    1.298
##     RCO05                         0.818    0.043   18.989    0.000    1.333
##     RCO06                         0.834    0.046   18.214    0.000    1.360
##     RCO07                         0.835    0.046   18.054    0.000    1.361
##   experiencias_recuperacion =~                                             
##     desapego                      1.000                               0.711
##     relajacion                    0.958    0.105    9.101    0.000    0.889
##     maestria                      0.799    0.116    6.903    0.000    0.593
##     control                       1.123    0.126    8.922    0.000    0.814
##   Std.all
##          
##     0.852
##     0.795
##     0.881
##     0.840
##     0.783
##     0.883
##     0.884
##          
##     0.849
##     0.870
##     0.883
##     0.910
##     0.860
##     0.825
##     0.697
##          
##     0.783
##     0.878
##     0.861
##     0.860
##     0.864
##     0.818
##     0.793
##          
##     0.854
##     0.912
##     0.886
##     0.907
##     0.888
##     0.884
##          
##     0.711
##     0.889
##     0.593
##     0.814
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .RPD02             1.037    0.114    9.114    0.000    1.037    0.273
##    .RPD03             1.452    0.151    9.627    0.000    1.452    0.367
##    .RPD05             0.963    0.111    8.676    0.000    0.963    0.224
##    .RPD07             1.198    0.129    9.256    0.000    1.198    0.294
##    .RPD08             1.571    0.162    9.702    0.000    1.571    0.387
##    .RPD09             0.964    0.112    8.636    0.000    0.964    0.221
##    .RPD10             0.987    0.115    8.611    0.000    0.987    0.219
##    .RRE02             0.627    0.068    9.274    0.000    0.627    0.279
##    .RRE03             0.655    0.073    9.014    0.000    0.655    0.244
##    .RRE04             0.480    0.055    8.788    0.000    0.480    0.220
##    .RRE05             0.373    0.046    8.139    0.000    0.373    0.171
##    .RRE06             0.887    0.097    9.149    0.000    0.887    0.261
##    .RRE07             0.950    0.100    9.503    0.000    0.950    0.319
##    .RRE10             1.138    0.113   10.093    0.000    1.138    0.514
##    .RMA03             1.594    0.166    9.605    0.000    1.594    0.386
##    .RMA04             0.829    0.097    8.534    0.000    0.829    0.230
##    .RMA05             0.902    0.102    8.833    0.000    0.902    0.259
##    .RMA07             0.847    0.096    8.843    0.000    0.847    0.260
##    .RMA08             0.840    0.096    8.776    0.000    0.840    0.253
##    .RMA09             1.056    0.113    9.344    0.000    1.056    0.331
##    .RMA10             1.285    0.135    9.540    0.000    1.285    0.371
##    .RCO02             0.983    0.105    9.379    0.000    0.983    0.270
##    .RCO03             0.485    0.058    8.392    0.000    0.485    0.169
##    .RCO04             0.462    0.052    8.961    0.000    0.462    0.215
##    .RCO05             0.382    0.045    8.511    0.000    0.382    0.177
##    .RCO06             0.494    0.055    8.916    0.000    0.494    0.211
##    .RCO07             0.516    0.057    8.985    0.000    0.516    0.218
##    .desapego          1.362    0.201    6.766    0.000    0.494    0.494
##    .relajacion        0.341    0.090    3.789    0.000    0.210    0.210
##    .maestria          1.643    0.253    6.506    0.000    0.649    0.649
##    .control           0.895    0.160    5.600    0.000    0.337    0.337
##     exprncs_rcprcn    1.396    0.276    5.067    0.000    1.000    1.000
lavaanPlot(fit3_dep, coef=TRUE, cov=TRUE)

Indices de ajuste del modelo depurado

indices3_dep <- fitMeasures(
  fit3_dep,
  c("chisq","df","pvalue","cfi","tli","rmsea","srmr")
)

round(indices3_dep, 3)
##   chisq      df  pvalue     cfi     tli   rmsea    srmr 
## 809.630 320.000   0.000   0.920   0.913   0.083   0.059

Comparacion de los indices

tabla_ajuste_recuperacion <- data.frame(
  Modelo = c("Inicial", "Depurado"),
  CFI = round(c(indices3_inicial["cfi"],
                indices3_dep["cfi"]), 3),
  TLI = round(c(indices3_inicial["tli"],
                indices3_dep["tli"]), 3),
  RMSEA = round(c(indices3_inicial["rmsea"],
                  indices3_dep["rmsea"]), 3),
  SRMR = round(c(indices3_inicial["srmr"],
                 indices3_dep["srmr"]), 3)
)

tabla_ajuste_recuperacion
##     Modelo   CFI   TLI RMSEA  SRMR
## 1  Inicial 0.888 0.879 0.091 0.075
## 2 Depurado 0.920 0.913 0.083 0.059

Conclusion Parte 1

El modelo de segundo orden representa las experiencias de recuperacion mediante cuatro dimensiones: desapego, relajacion, maestria y control. El modelo inicial presenta CFI = 0.888, RMSEA = 0.091 y SRMR = 0.075.

Despues de eliminar los reactivos señalados como depurados en el instrumento que aun se encontraban en la base de datos, el modelo presenta CFI = 0.92, RMSEA = 0.083 y SRMR = 0.059.

La comparacion permite revisar si la eliminacion de reactivos mejora el ajuste sin cambiar la estructura teorica de cuatro dimensiones y un factor general de experiencias de recuperacion.

Parte 2. Energia Recuperada

Se realiza un analisis factorial confirmatorio de primer orden para determinar si los reactivos de energia recuperada se agrupan en una sola dimension.

En la base de datos los reactivos de energia aparecen con el prefijo EN.

Modelo inicial

modelo4_inicial <- '
energia_recuperada =~ EN01 + EN02 + EN04 + EN05 + EN06 + EN07 + EN08
'
fit4_inicial <- cfa(modelo4_inicial, df3)

summary(fit4_inicial,
        fit.measures = TRUE,
        standardized = TRUE)
## lavaan 0.7-2 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
## 
## Goodness of Fit Index:
## 
##   Goodness of Fit Index (GFI)                    0.959
##   90 Percent confidence interval - lower         0.931
##   90 Percent confidence interval - upper         0.980
## 
## 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_recuperada =~                                                      
##     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_recprd    2.801    0.327    8.565    0.000    1.000    1.000
lavaanPlot(fit4_inicial, coef=TRUE, cov=TRUE)

Indices de ajuste iniciales

indices4_inicial <- fitMeasures(
  fit4_inicial,
  c("chisq","df","pvalue","cfi","tli","rmsea","srmr")
)

round(indices4_inicial, 3)
##  chisq     df pvalue    cfi    tli  rmsea   srmr 
## 47.222 14.000  0.000  0.986  0.978  0.103  0.012

Modelo depurado

La descripcion del instrumento señala como eliminado el primer reactivo de energia. Los reactivos 9 y 10 tampoco aparecen en la base de datos. Por esta razon, el modelo depurado elimina EN01.

modelo4_dep <- '
energia_recuperada =~ EN02 + EN04 + EN05 + EN06 + EN07 + EN08
'
fit4_dep <- cfa(modelo4_dep, df3)

summary(fit4_dep,
        fit.measures = TRUE,
        standardized = TRUE)
## lavaan 0.7-2 ended normally after 32 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        12
## 
##   Number of observations                           223
## 
## Model Test User Model:
##                                                       
##   Test statistic                                35.631
##   Degrees of freedom                                 9
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                              1976.514
##   Degrees of freedom                                15
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.986
##   Tucker-Lewis Index (TLI)                       0.977
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -1728.828
##   Loglikelihood unrestricted model (H1)      -1711.013
##                                                       
##   Akaike (AIC)                                3481.656
##   Bayesian (BIC)                              3522.542
##   Sample-size adjusted Bayesian (SABIC)       3484.512
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.115
##   90 Percent confidence interval - lower         0.077
##   90 Percent confidence interval - upper         0.156
##   P-value H_0: RMSEA <= 0.050                    0.004
##   P-value H_0: RMSEA >= 0.080                    0.937
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.011
## 
## Goodness of Fit Index:
## 
##   Goodness of Fit Index (GFI)                    0.963
##   90 Percent confidence interval - lower         0.934
##   90 Percent confidence interval - upper         0.984
## 
## 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_recuperada =~                                                      
##     EN02                   1.000                               1.716    0.929
##     EN04                   0.972    0.038   25.316    0.000    1.668    0.921
##     EN05                   0.977    0.036   27.458    0.000    1.677    0.942
##     EN06                   0.964    0.035   27.441    0.000    1.654    0.942
##     EN07                   1.024    0.039   26.081    0.000    1.758    0.929
##     EN08                   1.010    0.036   27.886    0.000    1.733    0.946
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .EN02              0.467    0.052    8.962    0.000    0.467    0.137
##    .EN04              0.496    0.054    9.142    0.000    0.496    0.151
##    .EN05              0.358    0.042    8.561    0.000    0.358    0.113
##    .EN06              0.349    0.041    8.567    0.000    0.349    0.113
##    .EN07              0.490    0.055    8.963    0.000    0.490    0.137
##    .EN08              0.355    0.042    8.410    0.000    0.355    0.106
##     energia_recprd    2.946    0.321    9.167    0.000    1.000    1.000
lavaanPlot(fit4_dep, coef=TRUE, cov=TRUE)

Indices de ajuste del modelo depurado

indices4_dep <- fitMeasures(
  fit4_dep,
  c("chisq","df","pvalue","cfi","tli","rmsea","srmr")
)

round(indices4_dep, 3)
##  chisq     df pvalue    cfi    tli  rmsea   srmr 
## 35.631  9.000  0.000  0.986  0.977  0.115  0.011

Comparacion

tabla_ajuste_energia <- data.frame(
  Modelo = c("Inicial", "Depurado"),
  CFI = round(c(indices4_inicial["cfi"],
                indices4_dep["cfi"]), 3),
  TLI = round(c(indices4_inicial["tli"],
                indices4_dep["tli"]), 3),
  RMSEA = round(c(indices4_inicial["rmsea"],
                  indices4_dep["rmsea"]), 3),
  SRMR = round(c(indices4_inicial["srmr"],
                 indices4_dep["srmr"]), 3)
)

tabla_ajuste_energia
##     Modelo   CFI   TLI RMSEA  SRMR
## 1  Inicial 0.986 0.978 0.103 0.012
## 2 Depurado 0.986 0.977 0.115 0.011

Conclusion Parte 2

El objetivo de esta parte es comprobar si los reactivos de energia recuperada pueden explicarse mediante una sola variable latente.

El modelo inicial presenta CFI = 0.986, RMSEA = 0.103 y SRMR = 0.012. El modelo depurado presenta CFI = 0.986, RMSEA = 0.115 y SRMR = 0.011.

La tabla permite identificar si la eliminacion del reactivo mejora el ajuste del constructo de energia recuperada.

Parte 3. Analisis de Senderos y Mediacion

El engagement laboral se representa mediante vigor, dedicacion y absorcion.

Para realizar el analisis de senderos se calculan puntuaciones promedio de las escalas ya depuradas.

Crear variables para el analisis de senderos

df3$desapego_prom <- rowMeans(
  df3[, c("RPD02","RPD03","RPD05","RPD07","RPD08","RPD09","RPD10")]
)

df3$relajacion_prom <- rowMeans(
  df3[, c("RRE02","RRE03","RRE04","RRE05","RRE06","RRE07","RRE10")]
)

df3$maestria_prom <- rowMeans(
  df3[, c("RMA03","RMA04","RMA05","RMA07","RMA08","RMA09","RMA10")]
)

df3$control_prom <- rowMeans(
  df3[, c("RCO02","RCO03","RCO04","RCO05","RCO06","RCO07")]
)

df3$experiencias_prom <- rowMeans(
  df3[, c("desapego_prom",
          "relajacion_prom",
          "maestria_prom",
          "control_prom")]
)

df3$energia_prom <- rowMeans(
  df3[, c("EN02","EN04","EN05","EN06","EN07","EN08")]
)

df3$engagement_prom <- rowMeans(
  df3[, c("EVI01","EVI02","EVI03",
          "EDE01","EDE02","EDE03",
          "EAB01","EAB02","EAB03")]
)

Modelo de mediacion

modelo_senderos <- '
# Regresiones
energia_prom ~ a*experiencias_prom
engagement_prom ~ b*energia_prom + c*experiencias_prom

# Efectos
indirecto := a*b
directo := c
total := c + (a*b)
'
fit_senderos <- sem(modelo_senderos, df3)

summary(fit_senderos,
        fit.measures = TRUE,
        standardized = TRUE,
        rsquare = TRUE)
## lavaan 0.7-2 ended normally after 1 iteration
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         5
## 
##   Number of observations                           223
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 0.000
##   Degrees of freedom                                 0
## 
## Model Test Baseline Model:
## 
##   Test statistic                               290.155
##   Degrees of freedom                                 3
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    1.000
##   Tucker-Lewis Index (TLI)                       1.000
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)               -695.954
##   Loglikelihood unrestricted model (H1)       -695.954
##                                                       
##   Akaike (AIC)                                1401.908
##   Bayesian (BIC)                              1418.943
##   Sample-size adjusted Bayesian (SABIC)       1403.098
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.000
##   90 Percent confidence interval - lower         0.000
##   90 Percent confidence interval - upper         0.000
##   P-value H_0: RMSEA <= 0.050                       NA
##   P-value H_0: RMSEA >= 0.080                       NA
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.000
## 
## Goodness of Fit Index:
## 
##   Goodness of Fit Index (GFI)                    1.000
##   90 Percent confidence interval - lower         1.000
##   90 Percent confidence interval - upper         1.000
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Regressions:
##                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   energia_prom ~                                                         
##     exprncs_pr (a)     1.035    0.061   16.898    0.000    1.035    0.749
##   engagement_prom ~                                                      
##     energi_prm (b)     0.416    0.068    6.087    0.000    0.416    0.485
##     exprncs_pr (c)     0.192    0.094    2.033    0.042    0.192    0.162
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .energia_prom      1.299    0.123   10.559    0.000    1.299    0.439
##    .engagement_prm    1.355    0.128   10.559    0.000    1.355    0.621
## 
## R-Square:
##                    Estimate
##     energia_prom      0.561
##     engagement_prm    0.379
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirecto         0.431    0.075    5.727    0.000    0.431    0.363
##     directo           0.192    0.094    2.033    0.042    0.192    0.162
##     total             0.623    0.068    9.222    0.000    0.623    0.525
## lavaan NOTE:  
##    Standard errors and confidence intervals of the (nonlinear) defined (:=) 
##    parameters are based on the first-order delta method; for strongly 
##    nonlinear definitions, se.def = "mc" (Monte Carlo) or se = "bootstrap" may 
##    be more accurate.
lavaanPlot(fit_senderos, coef=TRUE, cov=TRUE)

Efectos directos e indirectos

efectos_senderos <- parameterEstimates(
  fit_senderos,
  standardized = TRUE
)

efectos_senderos[
  efectos_senderos$op == ":=",
]
##         lhs op     rhs     label   est    se     z pvalue ci.lower ci.upper
## 7 indirecto :=     a*b indirecto 0.431 0.075 5.727  0.000    0.283    0.578
## 8   directo :=       c   directo 0.192 0.094 2.033  0.042    0.007    0.377
## 9     total := c+(a*b)     total 0.623 0.068 9.222  0.000    0.490    0.755
##   std.lv std.all std.nox
## 7  0.431   0.363   0.292
## 8  0.192   0.162   0.130
## 9  0.623   0.525   0.421
efecto_indirecto <- efectos_senderos$est[
  efectos_senderos$lhs == "indirecto"
]

p_indirecto <- efectos_senderos$pvalue[
  efectos_senderos$lhs == "indirecto"
]

efecto_directo <- efectos_senderos$est[
  efectos_senderos$lhs == "directo"
]

p_directo <- efectos_senderos$pvalue[
  efectos_senderos$lhs == "directo"
]

efecto_total <- efectos_senderos$est[
  efectos_senderos$lhs == "total"
]

Indices de ajuste

indices_senderos <- fitMeasures(
  fit_senderos,
  c("chisq","df","pvalue","cfi","tli","rmsea","srmr")
)

round(indices_senderos, 3)
##  chisq     df pvalue    cfi    tli  rmsea   srmr 
##      0      0     NA      1      1      0      0

Conclusion Parte 3

El efecto indirecto de las experiencias de recuperacion sobre el engagement a traves de la energia recuperada es 0.431, con un valor p de 0.

El efecto directo de las experiencias de recuperacion sobre el engagement es 0.192, con un valor p de 0.042. El efecto total es 0.623.

Si el efecto indirecto es significativo, existe evidencia de que parte de la relacion entre las experiencias de recuperacion y el engagement ocurre mediante la energia recuperada. Si el efecto directo tambien se mantiene significativo, se trata de una mediacion parcial.

Debido a que el modelo de mediacion incluye las relaciones entre las tres variables observadas, puede resultar saturado o con muy pocos grados de libertad. Por esta razon, en esta parte es especialmente importante interpretar los efectos directos e indirectos y no depender solamente de los indices globales de ajuste.

Parte 4. Modelo de Medicion

A partir de los constructos utilizados en el modelo de senderos se construye un modelo de medicion con variables latentes.

Modelo de medicion

modelo_medicion <- '
# Experiencias de recuperacion
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

experiencias_recuperacion =~ desapego + relajacion + maestria + control

# Energia recuperada
energia_recuperada =~ EN02 + EN04 + EN05 + EN06 + EN07 + EN08

# Engagement
vigor =~ EVI01 + EVI02 + EVI03
dedicacion =~ EDE01 + EDE02 + EDE03
absorcion =~ EAB01 + EAB02 + EAB03

engagement =~ vigor + dedicacion + absorcion
'
fit_medicion <- cfa(modelo_medicion, df3)

summary(fit_medicion,
        fit.measures = TRUE,
        standardized = TRUE)
## lavaan 0.7-2 ended normally after 71 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        94
## 
##   Number of observations                           223
## 
## Model Test User Model:
##                                                       
##   Test statistic                              1908.537
##   Degrees of freedom                               809
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                             11802.762
##   Degrees of freedom                               861
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.900
##   Tucker-Lewis Index (TLI)                       0.893
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -13680.168
##   Loglikelihood unrestricted model (H1)     -12725.899
##                                                       
##   Akaike (AIC)                               27548.335
##   Bayesian (BIC)                             27868.609
##   Sample-size adjusted Bayesian (SABIC)      27570.712
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.078
##   90 Percent confidence interval - lower         0.074
##   90 Percent confidence interval - upper         0.083
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    0.245
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.063
## 
## Goodness of Fit Index:
## 
##   Goodness of Fit Index (GFI)                    0.816
##   90 Percent confidence interval - lower         0.798
##   90 Percent confidence interval - upper         0.833
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                                Estimate  Std.Err  z-value  P(>|z|)   Std.lv
##   desapego =~                                                              
##     RPD02                         1.000                               1.666
##     RPD03                         0.950    0.064   14.904    0.000    1.583
##     RPD05                         1.098    0.061   17.870    0.000    1.829
##     RPD07                         1.019    0.062   16.362    0.000    1.698
##     RPD08                         0.942    0.066   14.369    0.000    1.569
##     RPD09                         1.105    0.062   17.816    0.000    1.841
##     RPD10                         1.124    0.063   17.827    0.000    1.873
##   relajacion =~                                                            
##     RRE02                         1.000                               1.275
##     RRE03                         1.120    0.065   17.291    0.000    1.428
##     RRE04                         1.021    0.058   17.625    0.000    1.301
##     RRE05                         1.051    0.056   18.689    0.000    1.341
##     RRE06                         1.246    0.074   16.923    0.000    1.588
##     RRE07                         1.121    0.071   15.841    0.000    1.430
##     RRE10                         0.814    0.067   12.132    0.000    1.038
##   maestria =~                                                              
##     RMA03                         1.000                               1.587
##     RMA04                         1.049    0.071   14.878    0.000    1.666
##     RMA05                         1.010    0.070   14.489    0.000    1.604
##     RMA07                         0.978    0.067   14.498    0.000    1.552
##     RMA08                         0.993    0.068   14.601    0.000    1.576
##     RMA09                         0.921    0.068   13.582    0.000    1.462
##     RMA10                         0.931    0.071   13.050    0.000    1.477
##   control =~                                                               
##     RCO02                         1.000                               1.632
##     RCO03                         0.945    0.049   19.163    0.000    1.543
##     RCO04                         0.794    0.044   18.096    0.000    1.295
##     RCO05                         0.815    0.043   18.920    0.000    1.329
##     RCO06                         0.837    0.045   18.402    0.000    1.365
##     RCO07                         0.836    0.046   18.198    0.000    1.365
##   experiencias_recuperacion =~                                             
##     desapego                      1.000                               0.710
##     relajacion                    0.891    0.097    9.207    0.000    0.827
##     maestria                      0.834    0.115    7.263    0.000    0.622
##     control                       1.183    0.125    9.447    0.000    0.858
##   energia_recuperada =~                                                    
##     EN02                          1.000                               1.718
##     EN04                          0.973    0.038   25.583    0.000    1.671
##     EN05                          0.976    0.035   27.545    0.000    1.677
##     EN06                          0.962    0.035   27.429    0.000    1.652
##     EN07                          1.022    0.039   26.054    0.000    1.756
##     EN08                          1.009    0.036   28.031    0.000    1.733
##   vigor =~                                                                 
##     EVI01                         1.000                               1.684
##     EVI02                         0.985    0.028   35.281    0.000    1.659
##     EVI03                         0.996    0.048   20.544    0.000    1.677
##   dedicacion =~                                                            
##     EDE01                         1.000                               1.868
##     EDE02                         0.907    0.034   26.374    0.000    1.695
##     EDE03                         0.571    0.037   15.545    0.000    1.066
##   absorcion =~                                                             
##     EAB01                         1.000                               1.607
##     EAB02                         0.711    0.051   13.824    0.000    1.143
##     EAB03                         0.735    0.063   11.600    0.000    1.181
##   engagement =~                                                            
##     vigor                         1.000                               0.900
##     dedicacion                    1.214    0.061   19.814    0.000    0.986
##     absorcion                     0.958    0.059   16.367    0.000    0.904
##   Std.all
##          
##     0.855
##     0.797
##     0.883
##     0.841
##     0.779
##     0.881
##     0.882
##          
##     0.850
##     0.871
##     0.880
##     0.908
##     0.861
##     0.829
##     0.698
##          
##     0.781
##     0.877
##     0.860
##     0.860
##     0.865
##     0.819
##     0.794
##          
##     0.855
##     0.910
##     0.884
##     0.904
##     0.892
##     0.887
##          
##     0.710
##     0.827
##     0.622
##     0.858
##          
##     0.930
##     0.923
##     0.942
##     0.941
##     0.928
##     0.946
##          
##     0.967
##     0.962
##     0.836
##          
##     0.952
##     0.922
##     0.754
##          
##     0.917
##     0.752
##     0.671
##          
##     0.900
##     0.986
##     0.904
## 
## Covariances:
##                                Estimate  Std.Err  z-value  P(>|z|)   Std.lv
##   experiencias_recuperacion ~~                                             
##     energia_recprd                1.664    0.232    7.162    0.000    0.819
##     engagement                    1.074    0.179    6.000    0.000    0.599
##   energia_recuperada ~~                                                    
##     engagement                    1.660    0.226    7.360    0.000    0.637
##   Std.all
##          
##     0.819
##     0.599
##          
##     0.637
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .RPD02             1.019    0.112    9.081    0.000    1.019    0.268
##    .RPD03             1.444    0.150    9.621    0.000    1.444    0.365
##    .RPD05             0.948    0.110    8.640    0.000    0.948    0.221
##    .RPD07             1.190    0.129    9.246    0.000    1.190    0.292
##    .RPD08             1.597    0.164    9.727    0.000    1.597    0.393
##    .RPD09             0.975    0.112    8.668    0.000    0.975    0.223
##    .RPD10             1.006    0.116    8.662    0.000    1.006    0.223
##    .RRE02             0.623    0.067    9.251    0.000    0.623    0.277
##    .RRE03             0.648    0.072    8.976    0.000    0.648    0.241
##    .RRE04             0.492    0.056    8.828    0.000    0.492    0.225
##    .RRE05             0.384    0.047    8.199    0.000    0.384    0.176
##    .RRE06             0.880    0.097    9.121    0.000    0.880    0.259
##    .RRE07             0.930    0.098    9.458    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.549    0.000    0.831    0.230
##    .RMA05             0.906    0.102    8.853    0.000    0.906    0.260
##    .RMA07             0.845    0.096    8.846    0.000    0.845    0.260
##    .RMA08             0.836    0.095    8.772    0.000    0.836    0.252
##    .RMA09             1.051    0.112    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.390    0.000    0.978    0.269
##    .RCO03             0.493    0.058    8.472    0.000    0.493    0.172
##    .RCO04             0.468    0.052    9.013    0.000    0.468    0.218
##    .RCO05             0.393    0.046    8.617    0.000    0.393    0.182
##    .RCO06             0.479    0.054    8.880    0.000    0.479    0.204
##    .RCO07             0.505    0.056    8.970    0.000    0.505    0.213
##    .EN02              0.462    0.051    9.009    0.000    0.462    0.135
##    .EN04              0.485    0.053    9.161    0.000    0.485    0.148
##    .EN05              0.359    0.041    8.651    0.000    0.359    0.113
##    .EN06              0.355    0.041    8.687    0.000    0.355    0.115
##    .EN07              0.498    0.055    9.057    0.000    0.498    0.139
##    .EN08              0.354    0.042    8.488    0.000    0.354    0.105
##    .EVI01             0.199    0.039    5.048    0.000    0.199    0.066
##    .EVI02             0.224    0.040    5.617    0.000    0.224    0.075
##    .EVI03             1.213    0.124    9.773    0.000    1.213    0.301
##    .EDE01             0.364    0.065    5.610    0.000    0.364    0.094
##    .EDE02             0.506    0.067    7.572    0.000    0.506    0.150
##    .EDE03             0.864    0.087    9.920    0.000    0.864    0.432
##    .EAB01             0.489    0.103    4.767    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.720    0.000    1.706    0.550
##    .desapego          1.377    0.196    7.026    0.000    0.496    0.496
##    .relajacion        0.515    0.086    5.991    0.000    0.317    0.317
##    .maestria          1.546    0.238    6.499    0.000    0.613    0.613
##    .control           0.703    0.127    5.531    0.000    0.264    0.264
##     exprncs_rcprcn    1.399    0.272    5.153    0.000    1.000    1.000
##     energia_recprd    2.950    0.321    9.182    0.000    1.000    1.000
##    .vigor             0.537    0.085    6.343    0.000    0.189    0.189
##    .dedicacion        0.100    0.089    1.120    0.263    0.029    0.029
##    .absorcion         0.472    0.112    4.234    0.000    0.183    0.183
##     engagement        2.300    0.284    8.088    0.000    1.000    1.000
lavaanPlot(fit_medicion, coef=TRUE, cov=TRUE)

Indices de ajuste

indices_medicion <- fitMeasures(
  fit_medicion,
  c("chisq","df","pvalue","cfi","tli","rmsea","srmr")
)

round(indices_medicion, 3)
##    chisq       df   pvalue      cfi      tli    rmsea     srmr 
## 1908.537  809.000    0.000    0.900    0.893    0.078    0.063

Conclusion Parte 4

El modelo de medicion integra las experiencias de recuperacion, la energia recuperada y el engagement como variables latentes. Las experiencias de recuperacion y el engagement se representan como constructos de segundo orden.

Los indices de ajuste obtenidos son CFI = 0.9, TLI = 0.893, RMSEA = 0.078 y SRMR = 0.063.

Este modelo permite revisar si los indicadores observables representan correctamente los constructos que posteriormente se utilizan para estudiar las relaciones estructurales.

Conclusiones Ejercicio 3

El ejercicio permite pasar de modelos factoriales confirmatorios a un modelo de senderos y posteriormente a un modelo de medicion completo.

En la primera parte se analiza la estructura de segundo orden de las experiencias de recuperacion. En la segunda se analiza la unidimensionalidad de la energia recuperada. Posteriormente, el analisis de senderos permite evaluar el efecto mediador de la energia recuperada entre las experiencias de recuperacion y el engagement laboral.

Finalmente, el modelo de medicion integra los constructos mediante variables latentes y permite evaluar si la estructura de medicion propuesta tiene un ajuste adecuado antes de interpretar un modelo estructural mas completo.

Ejercicio 4. Modelo de Ecuaciones Estructurales (SEM)

En el estudio de Behson, Eddy y Lorenzet (2000), los autores comparan dos versiones del Job Characteristics Model.

El Modelo 1 representa el modelo original de Hackman y Oldham. Este modelo tiene tres etapas: las caracteristicas centrales del trabajo influyen sobre los estados psicologicos criticos y estos, a su vez, influyen sobre los resultados laborales.

El Modelo 2 elimina los estados psicologicos criticos y conecta directamente las caracteristicas del trabajo con los resultados.

Comparacion de los modelos

tabla_modelos_articulo <- data.frame(
  Indicador = c(
    "Chi cuadrada",
    "Grados de libertad",
    "Senderos significativos",
    "RMSEA",
    "GFI",
    "CFI",
    "Varianza explicada Satisfaccion",
    "Varianza explicada Growth Satisfaction",
    "Varianza explicada Motivacion",
    "AIC",
    "CAIC"
  ),
  Modelo_1 = c(
    124.25,
    25,
    "12/14",
    0.14,
    0.91,
    0.89,
    0.42,
    0.42,
    0.38,
    294.48,
    446.29
  ),
  Modelo_2 = c(
    12.09,
    3,
    "7/15",
    0.16,
    0.99,
    0.98,
    0.37,
    0.43,
    0.32,
    80.09,
    227.56
  )
)

tabla_modelos_articulo
##                                 Indicador Modelo_1 Modelo_2
## 1                            Chi cuadrada   124.25    12.09
## 2                      Grados de libertad       25        3
## 3                 Senderos significativos    12/14     7/15
## 4                                   RMSEA     0.14     0.16
## 5                                     GFI     0.91     0.99
## 6                                     CFI     0.89     0.98
## 7         Varianza explicada Satisfaccion     0.42     0.37
## 8  Varianza explicada Growth Satisfaction     0.42     0.43
## 9           Varianza explicada Motivacion     0.38     0.32
## 10                                    AIC   294.48    80.09
## 11                                   CAIC   446.29   227.56

Diferencias en la estructura

El Modelo 1 conserva los estados psicologicos criticos:

  • Experienced Meaningfulness
  • Experienced Responsibility
  • Knowledge of Results

Estos estados funcionan como mediadores entre las caracteristicas centrales del trabajo y los resultados.

El Modelo 2 elimina completamente estos mediadores. Por lo tanto, es mas simple y tiene menos etapas, pero tambien cambia la explicacion teorica del modelo.

Diferencias en los coeficientes

En la Figura 2, correspondiente al Modelo 1, se observan relaciones importantes entre las caracteristicas del trabajo y los estados psicologicos.

Por ejemplo:

  • Skill Variety -> Experienced Meaningfulness = 0.31
  • Task Significance -> Experienced Meaningfulness = 0.24
  • Autonomy -> Experienced Responsibility = 0.51
  • Feedback -> Knowledge of Results = 0.44

Ademas, Experienced Meaningfulness presenta efectos importantes sobre los resultados, incluyendo aproximadamente 0.50 sobre Satisfaction, 0.49 sobre Growth Satisfaction y 0.35 sobre Motivation.

En cambio, en el Modelo 2 muchas de las relaciones directas son pequeñas o no significativas. En particular, ocho de las nueve relaciones que parten de Skill Variety, Task Significance y Task Identity hacia los tres resultados no fueron estadisticamente significativas.

La Figura 3 muestra, por ejemplo, coeficientes de 0.07 y 0.09 para algunas relaciones de Skill Variety, valores de 0.06 y 0.11 para Task Significance y hasta un coeficiente de -0.04 para una de las relaciones de Task Identity.

Diferencias en los errores

Los errores o varianzas residuales que aparecen en las figuras tambien ayudan a entender las diferencias.

En el Modelo 1 los errores de los resultados son aproximadamente:

errores_modelo1 <- data.frame(
  Resultado = c("Satisfaction",
                "Growth Satisfaction",
                "Motivation"),
  Error = c(0.58, 0.58, 0.62)
)

errores_modelo1
##             Resultado Error
## 1        Satisfaction  0.58
## 2 Growth Satisfaction  0.58
## 3          Motivation  0.62

En el Modelo 2 son:

errores_modelo2 <- data.frame(
  Resultado = c("Satisfaction",
                "Growth Satisfaction",
                "Motivation"),
  Error = c(0.63, 0.57, 0.68)
)

errores_modelo2
##             Resultado Error
## 1        Satisfaction  0.63
## 2 Growth Satisfaction  0.57
## 3          Motivation  0.68

Esto coincide con la varianza explicada reportada en la Tabla 4. El Modelo 1 explica 42% de Satisfaction y 38% de Motivation, mientras que el Modelo 2 explica 37% y 32%, respectivamente. En Growth Satisfaction el Modelo 2 explica ligeramente mas: 43% contra 42%.

¿Por que no eligieron el Modelo 2 si tiene mejores indices de ajuste?

La Tabla 4 muestra que el Modelo 2 tiene mejores valores en varios indices de ajuste. Su GFI es 0.99 y su CFI es 0.98, comparados con 0.91 y 0.89 del Modelo 1. Tambien presenta valores menores de AIC y CAIC.

Sin embargo, los autores explican que seleccionar un modelo no consiste solamente en comparar indices de ajuste. Tambien se debe analizar si los coeficientes tienen sentido y si el modelo conserva la teoria que se esta intentando representar.

El Modelo 1 tiene 12 de 14 senderos estadisticamente significativos, mientras que el Modelo 2 solamente tiene 7 de 15. Ademas, el Modelo 1 explica mas varianza en Satisfaction y Motivation.

La diferencia mas importante es teorica. Los estados psicologicos criticos son considerados el nucleo causal del Job Characteristics Model. El Modelo 2 obtiene un mejor ajuste principalmente al simplificar la estructura y eliminar esta parte central del modelo. Sin embargo, al hacerlo se pierde informacion que ayuda a explicar como las caracteristicas del trabajo producen resultados positivos.

La comparacion de los coeficientes muestra precisamente este problema. Skill Variety y Task Significance pueden tener relaciones directas pequenas con los resultados, pero en el Modelo 1 sus efectos aparecen de manera indirecta a traves de Experienced Meaningfulness. Si se elimina el mediador, puede parecer que estas caracteristicas no son importantes cuando en realidad su efecto ocurre mediante el estado psicologico.

Por esta razon, los autores consideran que el mejor ajuste estadistico del Modelo 2 no es suficiente para abandonar el Modelo 1.

¿Que leccion deja el estudio?

La principal leccion es que un modelo de ecuaciones estructurales no debe seleccionarse unicamente porque tenga mejores indices de ajuste.

El ajuste estadistico es importante, pero tambien deben considerarse:

  • La teoria que sustenta el modelo.
  • El sentido de los coeficientes.
  • La cantidad de senderos significativos.
  • La varianza explicada.
  • La interpretacion de los efectos directos e indirectos.
  • La informacion que se puede perder al hacer un modelo mas simple.

Un modelo mas sencillo puede tener mejores indices de ajuste y aun asi representar peor el proceso teorico que se busca estudiar.

Conclusiones Ejercicio 4

El Modelo 2 presenta un mejor ajuste estadistico en GFI, CFI, AIC y CAIC. Sin embargo, su RMSEA sigue siendo elevado y solamente 7 de sus 15 senderos son significativos.

El Modelo 1 conserva los estados psicologicos criticos, tiene 12 de 14 senderos significativos y explica mas varianza en satisfaccion y motivacion. Sobre todo, conserva el mecanismo de mediacion que constituye el nucleo teorico del Job Characteristics Model.

Por lo tanto, los autores mantienen el Modelo 1 porque ofrece una explicacion teoricamente mas completa y porque los coeficientes apoyan la importancia de los estados psicologicos criticos. El ejercicio muestra que en SEM no siempre se debe seleccionar automaticamente el modelo con el mejor ajuste numerico.

Conclusion General

Los cuatro ejercicios muestran diferentes usos de los modelos de ecuaciones estructurales.

El estudio de Holzinger y Swineford permite aplicar un analisis factorial confirmatorio para validar variables latentes. El ejercicio de democracia politica permite combinar un modelo de medicion con relaciones estructurales. El ejercicio de bienestar de los colaboradores permite trabajar con factores de segundo orden, depuracion de escalas, modelos de senderos, mediacion y modelos de medicion.

Finalmente, el estudio de Behson, Eddy y Lorenzet muestra que la interpretacion de un SEM no debe limitarse a los indicadores de ajuste. La teoria, los coeficientes, los efectos directos e indirectos y la capacidad explicativa tambien son elementos fundamentales para seleccionar y defender un modelo.