구조방정식모형

분석자의 모형에 CFA 모형에 해당되는 측정모형(measurement model) 과 경로분석과 마찬가지로 변수와 변수의 인과관계를 추정하는 구조모형(structural model) 을 동시에 추정한 모형을 SEM이라 부른다.


### 패키지 불러오기
library(lavaan)
## Warning: package 'lavaan' was built under R version 3.4.4
## This is lavaan 0.5-23.1097
## lavaan is BETA software! Please report any bugs.
library(data.table)
## Warning: package 'data.table' was built under R version 3.4.2

### 파일 불러오기
f4structure <- fread("f4structure.csv")
colnames(f4structure)
##  [1] "X1"  "X2"  "X3"  "X4"  "X5"  "X6"  "X7"  "X8"  "X9"  "X10" "X11"
## [12] "X12" "X13" "X14" "X15" "X16" "X17" "X18" "X19" "X20"
### 구조방정식 추정
mysem1 <- "
X =~ X1+X2+X3+X4+X5
M1 =~ X6+X7+X8+X9+X10
M2 =~ X11+X12+X13+X14+X15
Y =~ X16+X17+X18+X19+X20
X1~~X1; X2~~X2; X3~~X3; X4~~X4; X5~~X5
X6~~X6; X7~~X7; X8~~X8; X9~~X9; X10~~X10
X11~~X11; X12~~X12; X13~~X13; X14~~X14; X15~~X15
X16~~X16; X17~~X17; X18~~X18; X19~~X19; X20~~X20
M1~X; M2~X; Y~X
Y~M1+M2
X~~X
M1~~M1; M2~~M2; Y~~Y; M1~~M2"

obj.mysem1 <- sem(mysem1, data=f4structure)
summary(obj.mysem1, fit.measures=T, standardized=T)
## lavaan (0.5-23.1097) converged normally after  31 iterations
## 
##   Number of observations                           254
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic              149.415
##   Degrees of freedom                               164
##   P-value (Chi-square)                           0.786
## 
## Model test baseline model:
## 
##   Minimum Function Test Statistic             2158.772
##   Degrees of freedom                               190
##   P-value                                        0.000
## 
## User model versus baseline model:
## 
##   Comparative Fit Index (CFI)                    1.000
##   Tucker-Lewis Index (TLI)                       1.009
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -7334.339
##   Loglikelihood unrestricted model (H1)      -7259.632
## 
##   Number of free parameters                         46
##   Akaike (AIC)                               14760.678
##   Bayesian (BIC)                             14923.395
##   Sample-size adjusted Bayesian (BIC)        14777.566
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.000
##   90 Percent Confidence Interval          0.000  0.020
##   P-value RMSEA <= 0.05                          1.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.039
## 
## Parameter Estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   X =~                                                                  
##     X1                1.000                               0.827    0.673
##     X2                1.031    0.113    9.099    0.000    0.853    0.666
##     X3                1.173    0.114   10.277    0.000    0.969    0.778
##     X4                1.054    0.113    9.288    0.000    0.871    0.683
##     X5                1.101    0.113    9.780    0.000    0.910    0.728
##   M1 =~                                                                 
##     X6                1.000                               0.920    0.721
##     X7                0.988    0.096   10.300    0.000    0.909    0.701
##     X8                1.000    0.091   10.959    0.000    0.919    0.749
##     X9                1.056    0.096   11.050    0.000    0.971    0.756
##     X10               1.014    0.091   11.174    0.000    0.933    0.765
##   M2 =~                                                                 
##     X11               1.000                               0.997    0.757
##     X12               0.884    0.084   10.569    0.000    0.881    0.720
##     X13               0.800    0.078   10.224    0.000    0.798    0.695
##     X14               0.800    0.082    9.789    0.000    0.798    0.664
##     X15               0.787    0.082    9.630    0.000    0.785    0.653
##   Y =~                                                                  
##     X16               1.000                               0.947    0.743
##     X17               1.034    0.088   11.725    0.000    0.979    0.782
##     X18               0.856    0.088    9.736    0.000    0.810    0.648
##     X19               0.975    0.084   11.537    0.000    0.923    0.768
##     X20               1.027    0.094   10.924    0.000    0.973    0.726
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   M1 ~                                                                  
##     X                 0.549    0.091    6.019    0.000    0.493    0.493
##   M2 ~                                                                  
##     X                 0.617    0.099    6.204    0.000    0.511    0.511
##   Y ~                                                                   
##     X                -0.000    0.104   -0.002    0.999   -0.000   -0.000
##     M1                0.461    0.090    5.146    0.000    0.448    0.448
##     M2                0.171    0.078    2.185    0.029    0.181    0.181
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##  .M1 ~~                                                                 
##    .M2                0.061    0.057    1.072    0.284    0.089    0.089
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .X1                0.824    0.086    9.586    0.000    0.824    0.547
##    .X2                0.911    0.094    9.651    0.000    0.911    0.556
##    .X3                0.615    0.075    8.146    0.000    0.615    0.395
##    .X4                0.869    0.092    9.495    0.000    0.869    0.534
##    .X5                0.737    0.082    8.973    0.000    0.737    0.471
##    .X6                0.783    0.083    9.380    0.000    0.783    0.481
##    .X7                0.855    0.089    9.582    0.000    0.855    0.509
##    .X8                0.663    0.073    9.031    0.000    0.663    0.439
##    .X9                0.709    0.079    8.935    0.000    0.709    0.429
##    .X10               0.617    0.070    8.794    0.000    0.617    0.415
##    .X11               0.743    0.090    8.299    0.000    0.743    0.428
##    .X12               0.723    0.081    8.890    0.000    0.723    0.482
##    .X13               0.682    0.074    9.209    0.000    0.682    0.518
##    .X14               0.807    0.085    9.531    0.000    0.807    0.559
##    .X15               0.829    0.086    9.632    0.000    0.829    0.573
##    .X16               0.728    0.080    9.050    0.000    0.728    0.448
##    .X17               0.611    0.072    8.431    0.000    0.611    0.389
##    .X18               0.909    0.091    9.981    0.000    0.909    0.581
##    .X19               0.592    0.068    8.668    0.000    0.592    0.410
##    .X20               0.849    0.092    9.264    0.000    0.849    0.473
##     X                 0.683    0.121    5.658    0.000    1.000    1.000
##    .M1                0.640    0.107    6.007    0.000    0.757    0.757
##    .M2                0.735    0.119    6.162    0.000    0.739    0.739
##    .Y                 0.641    0.103    6.213    0.000    0.715    0.715

수정지수

같은 잠재변수의 관칙치의 경우 수정모형이 가능하다. 하지만 모형을 연구자가 목적에 따라 설정해놓고 바꾼다는것이 맞는지 고민 필요…

### 수정지수 확인
### 수정지수 modindices() 함수 이용
modindices(obj.mysem1)
##     lhs op rhs    mi    epc sepc.lv sepc.all sepc.nox
## 51    X =~  X6 0.184 -0.042  -0.035   -0.027   -0.027
## 52    X =~  X7 0.513 -0.073  -0.060   -0.046   -0.046
## 53    X =~  X8 1.439  0.111   0.092    0.075    0.075
## 54    X =~  X9 0.000  0.000   0.000    0.000    0.000
## 55    X =~ X10 0.021 -0.013  -0.011   -0.009   -0.009
## 56    X =~ X11 1.690  0.137   0.114    0.086    0.086
## 57    X =~ X12 1.936  0.139   0.115    0.094    0.094
## 58    X =~ X13 2.634 -0.154  -0.128   -0.111   -0.111
## 59    X =~ X14 0.974 -0.100  -0.083   -0.069   -0.069
## 60    X =~ X15 0.164 -0.041  -0.034   -0.028   -0.028
## 61    X =~ X16 1.991  0.120   0.099    0.078    0.078
## 62    X =~ X17 1.565 -0.101  -0.084   -0.067   -0.067
## 63    X =~ X18 0.010 -0.009  -0.008   -0.006   -0.006
## 64    X =~ X19 0.292  0.042   0.035    0.029    0.029
## 65    X =~ X20 0.314 -0.051  -0.042   -0.031   -0.031
## 66   M1 =~  X1 0.223  0.042   0.039    0.031    0.031
## 67   M1 =~  X2 3.108  0.164   0.151    0.118    0.118
## 68   M1 =~  X3 0.084 -0.025  -0.023   -0.018   -0.018
## 69   M1 =~  X4 0.392 -0.057  -0.053   -0.041   -0.041
## 70   M1 =~  X5 1.182 -0.095  -0.087   -0.070   -0.070
## 71   M1 =~ X11 0.198 -0.036  -0.033   -0.025   -0.025
## 72   M1 =~ X12 2.713  0.126   0.116    0.095    0.095
## 73   M1 =~ X13 0.746 -0.063  -0.058   -0.050   -0.050
## 74   M1 =~ X14 0.518 -0.056  -0.052   -0.043   -0.043
## 75   M1 =~ X15 0.114  0.026   0.024    0.020    0.020
## 76   M1 =~ X16 2.354 -0.133  -0.122   -0.096   -0.096
## 77   M1 =~ X17 0.096  0.026   0.024    0.019    0.019
## 78   M1 =~ X18 0.146  0.035   0.032    0.026    0.026
## 79   M1 =~ X19 0.249  0.040   0.037    0.031    0.031
## 80   M1 =~ X20 0.142  0.035   0.032    0.024    0.024
## 81   M2 =~  X1 0.004  0.005   0.005    0.004    0.004
## 82   M2 =~  X2 2.161 -0.131  -0.131   -0.102   -0.102
## 83   M2 =~  X3 0.382  0.050   0.050    0.040    0.040
## 84   M2 =~  X4 0.522  0.064   0.063    0.050    0.050
## 85   M2 =~  X5 0.009 -0.008  -0.008   -0.006   -0.006
## 86   M2 =~  X6 0.437 -0.048  -0.048   -0.037   -0.037
## 87   M2 =~  X7 0.335 -0.043  -0.043   -0.033   -0.033
## 88   M2 =~  X8 0.607  0.053   0.053    0.043    0.043
## 89   M2 =~  X9 0.010  0.007   0.007    0.005    0.005
## 90   M2 =~ X10 0.064  0.017   0.017    0.014    0.014
## 91   M2 =~ X16 1.469  0.086   0.086    0.067    0.067
## 92   M2 =~ X17 1.507 -0.083  -0.083   -0.066   -0.066
## 93   M2 =~ X18 0.004 -0.005  -0.005   -0.004   -0.004
## 94   M2 =~ X19 1.279  0.074   0.074    0.062    0.062
## 95   M2 =~ X20 1.127 -0.081  -0.080   -0.060   -0.060
## 96    Y =~  X1 4.873  0.168   0.159    0.130    0.130
## 97    Y =~  X2 0.904 -0.076  -0.072   -0.056   -0.056
## 98    Y =~  X3 0.266 -0.037  -0.035   -0.028   -0.028
## 99    Y =~  X4 0.000 -0.001  -0.001   -0.001   -0.001
## 100   Y =~  X5 0.303 -0.041  -0.039   -0.031   -0.031
## 101   Y =~  X6 3.942 -0.170  -0.161   -0.126   -0.126
## 102   Y =~  X7 0.732  0.076   0.072    0.055    0.055
## 103   Y =~  X8 0.009  0.008   0.007    0.006    0.006
## 104   Y =~  X9 0.430  0.055   0.052    0.041    0.041
## 105   Y =~ X10 0.106  0.026   0.024    0.020    0.020
## 106   Y =~ X11 3.007 -0.136  -0.129   -0.098   -0.098
## 107   Y =~ X12 2.116  0.108   0.103    0.084    0.084
## 108   Y =~ X13 1.958  0.099   0.094    0.082    0.082
## 109   Y =~ X14 0.291 -0.041  -0.039   -0.032   -0.032
## 110   Y =~ X15 0.255 -0.039  -0.037   -0.030   -0.030
## 111  X1 ~~  X2 1.219 -0.074  -0.074   -0.047   -0.047
## 112  X1 ~~  X3 0.115 -0.022  -0.022   -0.014   -0.014
## 113  X1 ~~  X4 0.562  0.050   0.050    0.032    0.032
## 114  X1 ~~  X5 0.149  0.025   0.025    0.016    0.016
## 115  X1 ~~  X6 0.091  0.018   0.018    0.011    0.011
## 116  X1 ~~  X7 0.960 -0.059  -0.059   -0.037   -0.037
## 117  X1 ~~  X8 0.390 -0.034  -0.034   -0.023   -0.023
## 118  X1 ~~  X9 0.777  0.050   0.050    0.032    0.032
## 119  X1 ~~ X10 0.063 -0.013  -0.013   -0.009   -0.009
## 120  X1 ~~ X11 0.339  0.035   0.035    0.021    0.021
## 121  X1 ~~ X12 0.033  0.010   0.010    0.007    0.007
## 122  X1 ~~ X13 0.268 -0.028  -0.028   -0.020   -0.020
## 123  X1 ~~ X14 0.165  0.024   0.024    0.016    0.016
## 124  X1 ~~ X15 1.705 -0.077  -0.077   -0.052   -0.052
## 125  X1 ~~ X16 0.547 -0.042  -0.042   -0.027   -0.027
## 126  X1 ~~ X17 0.562  0.040   0.040    0.026    0.026
## 127  X1 ~~ X18 0.506  0.043   0.043    0.028    0.028
## 128  X1 ~~ X19 2.086  0.075   0.075    0.051    0.051
## 129  X1 ~~ X20 0.027  0.010   0.010    0.006    0.006
## 130  X2 ~~  X3 0.037  0.013   0.013    0.008    0.008
## 131  X2 ~~  X4 0.224  0.033   0.033    0.020    0.020
## 132  X2 ~~  X5 0.054  0.016   0.016    0.010    0.010
## 133  X2 ~~  X6 0.155  0.024   0.024    0.015    0.015
## 134  X2 ~~  X7 0.027 -0.010  -0.010   -0.006   -0.006
## 135  X2 ~~  X8 0.373  0.035   0.035    0.022    0.022
## 136  X2 ~~  X9 0.840  0.054   0.054    0.033    0.033
## 137  X2 ~~ X10 0.590  0.043   0.043    0.027    0.027
## 138  X2 ~~ X11 0.169  0.026   0.026    0.015    0.015
## 139  X2 ~~ X12 1.290  0.068   0.068    0.043    0.043
## 140  X2 ~~ X13 0.211 -0.026  -0.026   -0.018   -0.018
## 141  X2 ~~ X14 1.300 -0.070  -0.070   -0.046   -0.046
## 142  X2 ~~ X15 3.137 -0.110  -0.110   -0.071   -0.071
## 143  X2 ~~ X16 0.106 -0.019  -0.019   -0.012   -0.012
## 144  X2 ~~ X17 0.733 -0.048  -0.048   -0.030   -0.030
## 145  X2 ~~ X18 0.036 -0.012  -0.012   -0.008   -0.008
## 146  X2 ~~ X19 0.142 -0.021  -0.021   -0.013   -0.013
## 147  X2 ~~ X20 0.027  0.010   0.010    0.006    0.006
## 148  X3 ~~  X4 0.364 -0.040  -0.040   -0.025   -0.025
## 149  X3 ~~  X5 0.270  0.034   0.034    0.022    0.022
## 150  X3 ~~  X6 0.964  0.053   0.053    0.033    0.033
## 151  X3 ~~  X7 0.007  0.005   0.005    0.003    0.003
## 152  X3 ~~  X8 3.556  0.095   0.095    0.062    0.062
## 153  X3 ~~  X9 0.978 -0.052  -0.052   -0.032   -0.032
## 154  X3 ~~ X10 3.496 -0.092  -0.092   -0.060   -0.060
## 155  X3 ~~ X11 0.259 -0.028  -0.028   -0.017   -0.017
## 156  X3 ~~ X12 3.479 -0.098  -0.098   -0.064   -0.064
## 157  X3 ~~ X13 0.317  0.028   0.028    0.020    0.020
## 158  X3 ~~ X14 0.733  0.046   0.046    0.031    0.031
## 159  X3 ~~ X15 4.814  0.120   0.120    0.080    0.080
## 160  X3 ~~ X16 0.464  0.036   0.036    0.022    0.022
## 161  X3 ~~ X17 0.016 -0.006  -0.006   -0.004   -0.004
## 162  X3 ~~ X18 0.491 -0.039  -0.039   -0.025   -0.025
## 163  X3 ~~ X19 1.400 -0.057  -0.057   -0.038   -0.038
## 164  X3 ~~ X20 0.545  0.041   0.041    0.025    0.025
## 165  X4 ~~  X5 0.273 -0.035  -0.035   -0.022   -0.022
## 166  X4 ~~  X6 0.849 -0.055  -0.055   -0.034   -0.034
## 167  X4 ~~  X7 0.986  0.062   0.062    0.037    0.037
## 168  X4 ~~  X8 0.777 -0.049  -0.049   -0.032   -0.032
## 169  X4 ~~  X9 0.002 -0.002  -0.002   -0.002   -0.002
## 170  X4 ~~ X10 0.028  0.009   0.009    0.006    0.006
## 171  X4 ~~ X11 2.055  0.088   0.088    0.052    0.052
## 172  X4 ~~ X12 0.708  0.050   0.050    0.032    0.032
## 173  X4 ~~ X13 0.168  0.023   0.023    0.016    0.016
## 174  X4 ~~ X14 1.077 -0.063  -0.063   -0.041   -0.041
## 175  X4 ~~ X15 1.606 -0.077  -0.077   -0.050   -0.050
## 176  X4 ~~ X16 1.867  0.080   0.080    0.049    0.049
## 177  X4 ~~ X17 0.120 -0.019  -0.019   -0.012   -0.012
## 178  X4 ~~ X18 0.213  0.029   0.029    0.018    0.018
## 179  X4 ~~ X19 1.273  0.061   0.061    0.040    0.040
## 180  X4 ~~ X20 6.304 -0.158  -0.158   -0.092   -0.092
## 181  X5 ~~  X6 1.099 -0.059  -0.059   -0.037   -0.037
## 182  X5 ~~  X7 0.308 -0.033  -0.033   -0.020   -0.020
## 183  X5 ~~  X8 0.060 -0.013  -0.013   -0.008   -0.008
## 184  X5 ~~  X9 0.230 -0.026  -0.026   -0.016   -0.016
## 185  X5 ~~ X10 1.404  0.061   0.061    0.040    0.040
## 186  X5 ~~ X11 0.025  0.009   0.009    0.006    0.006
## 187  X5 ~~ X12 0.995  0.055   0.055    0.036    0.036
## 188  X5 ~~ X13 2.721 -0.088  -0.088   -0.061   -0.061
## 189  X5 ~~ X14 0.045 -0.012  -0.012   -0.008   -0.008
## 190  X5 ~~ X15 0.494  0.040   0.040    0.027    0.027
## 191  X5 ~~ X16 0.902  0.052   0.052    0.033    0.033
## 192  X5 ~~ X17 0.456 -0.035  -0.035   -0.022   -0.022
## 193  X5 ~~ X18 0.143 -0.022  -0.022   -0.014   -0.014
## 194  X5 ~~ X19 0.523 -0.037  -0.037   -0.024   -0.024
## 195  X5 ~~ X20 0.591  0.045   0.045    0.027    0.027
## 196  X6 ~~  X7 0.019 -0.009  -0.009   -0.005   -0.005
## 197  X6 ~~  X8 7.118  0.161   0.161    0.103    0.103
## 198  X6 ~~  X9 0.236 -0.031  -0.031   -0.019   -0.019
## 199  X6 ~~ X10 0.665 -0.049  -0.049   -0.031   -0.031
## 200  X6 ~~ X11 0.233  0.028   0.028    0.017    0.017
## 201  X6 ~~ X12 0.539  0.041   0.041    0.026    0.026
## 202  X6 ~~ X13 2.641 -0.087  -0.087   -0.060   -0.060
## 203  X6 ~~ X14 0.078  0.016   0.016    0.011    0.011
## 204  X6 ~~ X15 0.045 -0.012  -0.012   -0.008   -0.008
## 205  X6 ~~ X16 0.000  0.001   0.001    0.001    0.001
## 206  X6 ~~ X17 0.598 -0.041  -0.041   -0.026   -0.026
## 207  X6 ~~ X18 0.109  0.020   0.020    0.012    0.012
## 208  X6 ~~ X19 0.257 -0.026  -0.026   -0.017   -0.017
## 209  X6 ~~ X20 0.671 -0.049  -0.049   -0.029   -0.029
## 210  X7 ~~  X8 0.809 -0.055  -0.055   -0.035   -0.035
## 211  X7 ~~  X9 0.260  0.033   0.033    0.020    0.020
## 212  X7 ~~ X10 0.175  0.025   0.025    0.016    0.016
## 213  X7 ~~ X11 1.826  0.082   0.082    0.048    0.048
## 214  X7 ~~ X12 1.191  0.063   0.063    0.040    0.040
## 215  X7 ~~ X13 0.019 -0.008  -0.008   -0.005   -0.005
## 216  X7 ~~ X14 5.118 -0.135  -0.135   -0.087   -0.087
## 217  X7 ~~ X15 1.274 -0.068  -0.068   -0.044   -0.044
## 218  X7 ~~ X16 0.894  0.055   0.055    0.033    0.033
## 219  X7 ~~ X17 1.603  0.069   0.069    0.043    0.043
## 220  X7 ~~ X18 1.215  0.069   0.069    0.042    0.042
## 221  X7 ~~ X19 0.437 -0.035  -0.035   -0.023   -0.023
## 222  X7 ~~ X20 2.482 -0.098  -0.098   -0.056   -0.056
## 223  X8 ~~  X9 2.219 -0.090  -0.090   -0.057   -0.057
## 224  X8 ~~ X10 0.697 -0.048  -0.048   -0.032   -0.032
## 225  X8 ~~ X11 0.293 -0.030  -0.030   -0.018   -0.018
## 226  X8 ~~ X12 0.174 -0.022  -0.022   -0.015   -0.015
## 227  X8 ~~ X13 1.069 -0.052  -0.052   -0.037   -0.037
## 228  X8 ~~ X14 3.629  0.103   0.103    0.070    0.070
## 229  X8 ~~ X15 0.572  0.041   0.041    0.028    0.028
## 230  X8 ~~ X16 1.033 -0.053  -0.053   -0.034   -0.034
## 231  X8 ~~ X17 0.270 -0.026  -0.026   -0.017   -0.017
## 232  X8 ~~ X18 1.922 -0.078  -0.078   -0.051   -0.051
## 233  X8 ~~ X19 0.236  0.023   0.023    0.016    0.016
## 234  X8 ~~ X20 4.830  0.123   0.123    0.075    0.075
## 235  X9 ~~ X10 1.250  0.067   0.067    0.043    0.043
## 236  X9 ~~ X11 0.465 -0.039  -0.039   -0.023   -0.023
## 237  X9 ~~ X12 0.527 -0.040  -0.040   -0.025   -0.025
## 238  X9 ~~ X13 0.682  0.043   0.043    0.029    0.029
## 239  X9 ~~ X14 0.372 -0.034  -0.034   -0.022   -0.022
## 240  X9 ~~ X15 2.009  0.080   0.080    0.052    0.052
## 241  X9 ~~ X16 1.417 -0.065  -0.065   -0.040   -0.040
## 242  X9 ~~ X17 1.030  0.052   0.052    0.032    0.032
## 243  X9 ~~ X18 0.293  0.032   0.032    0.020    0.020
## 244  X9 ~~ X19 0.508  0.036   0.036    0.023    0.023
## 245  X9 ~~ X20 0.237 -0.028  -0.028   -0.016   -0.016
## 246 X10 ~~ X11 0.396 -0.034  -0.034   -0.021   -0.021
## 247 X10 ~~ X12 0.106  0.017   0.017    0.011    0.011
## 248 X10 ~~ X13 0.403  0.031   0.031    0.022    0.022
## 249 X10 ~~ X14 0.040  0.011   0.011    0.007    0.007
## 250 X10 ~~ X15 0.013 -0.006  -0.006   -0.004   -0.004
## 251 X10 ~~ X16 1.116 -0.054  -0.054   -0.035   -0.035
## 252 X10 ~~ X17 0.002  0.002   0.002    0.001    0.001
## 253 X10 ~~ X18 0.002  0.002   0.002    0.001    0.001
## 254 X10 ~~ X19 0.024  0.007   0.007    0.005    0.005
## 255 X10 ~~ X20 1.297  0.062   0.062    0.038    0.038
## 256 X11 ~~ X12 0.293 -0.038  -0.038   -0.024   -0.024
## 257 X11 ~~ X13 0.023  0.010   0.010    0.007    0.007
## 258 X11 ~~ X14 0.003  0.004   0.004    0.002    0.002
## 259 X11 ~~ X15 0.004  0.004   0.004    0.003    0.003
## 260 X11 ~~ X16 0.065  0.015   0.015    0.009    0.009
## 261 X11 ~~ X17 0.613 -0.042  -0.042   -0.026   -0.026
## 262 X11 ~~ X18 4.624 -0.132  -0.132   -0.080   -0.080
## 263 X11 ~~ X19 0.037 -0.010  -0.010   -0.006   -0.006
## 264 X11 ~~ X20 0.657  0.050   0.050    0.028    0.028
## 265 X12 ~~ X13 0.321 -0.035  -0.035   -0.025   -0.025
## 266 X12 ~~ X14 0.235  0.031   0.031    0.021    0.021
## 267 X12 ~~ X15 0.337 -0.037  -0.037   -0.025   -0.025
## 268 X12 ~~ X16 0.414  0.035   0.035    0.023    0.023
## 269 X12 ~~ X17 0.117  0.018   0.018    0.012    0.012
## 270 X12 ~~ X18 0.477  0.041   0.041    0.027    0.027
## 271 X12 ~~ X19 0.522  0.036   0.036    0.025    0.025
## 272 X12 ~~ X20 2.485 -0.093  -0.093   -0.056   -0.056
## 273 X13 ~~ X14 0.025  0.010   0.010    0.007    0.007
## 274 X13 ~~ X15 0.820  0.055   0.055    0.040    0.040
## 275 X13 ~~ X16 0.955  0.051   0.051    0.035    0.035
## 276 X13 ~~ X17 0.939  0.048   0.048    0.033    0.033
## 277 X13 ~~ X18 0.057  0.014   0.014    0.009    0.009
## 278 X13 ~~ X19 0.021 -0.007  -0.007   -0.005   -0.005
## 279 X13 ~~ X20 0.000 -0.001  -0.001   -0.001   -0.001
## 280 X14 ~~ X15 0.000  0.000   0.000    0.000    0.000
## 281 X14 ~~ X16 0.695 -0.047  -0.047   -0.031   -0.031
## 282 X14 ~~ X17 0.071 -0.014  -0.014   -0.009   -0.009
## 283 X14 ~~ X18 0.113 -0.020  -0.020   -0.014   -0.014
## 284 X14 ~~ X19 0.374  0.032   0.032    0.022    0.022
## 285 X14 ~~ X20 0.263  0.031   0.031    0.019    0.019
## 286 X15 ~~ X16 0.214 -0.026  -0.026   -0.017   -0.017
## 287 X15 ~~ X17 1.297 -0.061  -0.061   -0.041   -0.041
## 288 X15 ~~ X18 3.899  0.121   0.121    0.080    0.080
## 289 X15 ~~ X19 0.038  0.010   0.010    0.007    0.007
## 290 X15 ~~ X20 0.752 -0.053  -0.053   -0.033   -0.033
## 291 X16 ~~ X17 0.073  0.017   0.017    0.011    0.011
## 292 X16 ~~ X18 1.277  0.072   0.072    0.045    0.045
## 293 X16 ~~ X19 0.066 -0.015  -0.015   -0.010   -0.010
## 294 X16 ~~ X20 0.221 -0.031  -0.031   -0.018   -0.018
## 295 X17 ~~ X18 0.050  0.014   0.014    0.009    0.009
## 296 X17 ~~ X19 2.053 -0.084  -0.084   -0.056   -0.056
## 297 X17 ~~ X20 1.366  0.076   0.076    0.045    0.045
## 298 X18 ~~ X19 0.129  0.021   0.021    0.014    0.014
## 299 X18 ~~ X20 3.943 -0.135  -0.135   -0.080   -0.080
## 300 X19 ~~ X20 0.857  0.058   0.058    0.036    0.036

### CR(개념신뢰도 or 복합신뢰도), AVE(평균분산추출) 계산
### standardizedsolution() 함수 이용
myest <- standardizedsolution(obj.mysem1)
myest
##    lhs op rhs est.std    se      z pvalue
## 1    X =~  X1   0.673 0.041 16.468  0.000
## 2    X =~  X2   0.666 0.041 16.083  0.000
## 3    X =~  X3   0.778 0.033 23.648  0.000
## 4    X =~  X4   0.683 0.040 16.999  0.000
## 5    X =~  X5   0.728 0.037 19.821  0.000
## 6   M1 =~  X6   0.721 0.036 19.993  0.000
## 7   M1 =~  X7   0.701 0.038 18.636  0.000
## 8   M1 =~  X8   0.749 0.034 22.195  0.000
## 9   M1 =~  X9   0.756 0.033 22.774  0.000
## 10  M1 =~ X10   0.765 0.032 23.599  0.000
## 11  M2 =~ X11   0.757 0.035 21.396  0.000
## 12  M2 =~ X12   0.720 0.038 18.884  0.000
## 13  M2 =~ X13   0.695 0.040 17.376  0.000
## 14  M2 =~ X14   0.664 0.042 15.721  0.000
## 15  M2 =~ X15   0.653 0.043 15.173  0.000
## 16   Y =~ X16   0.743 0.034 21.583  0.000
## 17   Y =~ X17   0.782 0.031 24.971  0.000
## 18   Y =~ X18   0.648 0.042 15.425  0.000
## 19   Y =~ X19   0.768 0.032 23.725  0.000
## 20   Y =~ X20   0.726 0.036 20.289  0.000
## 21  X1 ~~  X1   0.547 0.055  9.927  0.000
## 22  X2 ~~  X2   0.556 0.055 10.074  0.000
## 23  X3 ~~  X3   0.395 0.051  7.734  0.000
## 24  X4 ~~  X4   0.534 0.055  9.732  0.000
## 25  X5 ~~  X5   0.471 0.053  8.811  0.000
## 26  X6 ~~  X6   0.481 0.052  9.258  0.000
## 27  X7 ~~  X7   0.509 0.053  9.641  0.000
## 28  X8 ~~  X8   0.439 0.051  8.699  0.000
## 29  X9 ~~  X9   0.429 0.050  8.562  0.000
## 30 X10 ~~ X10   0.415 0.050  8.371  0.000
## 31 X11 ~~ X11   0.428 0.054  7.992  0.000
## 32 X12 ~~ X12   0.482 0.055  8.794  0.000
## 33 X13 ~~ X13   0.518 0.056  9.319  0.000
## 34 X14 ~~ X14   0.559 0.056  9.960  0.000
## 35 X15 ~~ X15   0.573 0.056 10.193  0.000
## 36 X16 ~~ X16   0.448 0.051  8.761  0.000
## 37 X17 ~~ X17   0.389 0.049  7.951  0.000
## 38 X18 ~~ X18   0.581 0.054 10.680  0.000
## 39 X19 ~~ X19   0.410 0.050  8.240  0.000
## 40 X20 ~~ X20   0.473 0.052  9.099  0.000
## 41  M1  ~   X   0.493 0.059  8.347  0.000
## 42  M2  ~   X   0.511 0.059  8.617  0.000
## 43   Y  ~   X   0.000 0.091 -0.002  0.999
## 44   Y  ~  M1   0.448 0.073  6.122  0.000
## 45   Y  ~  M2   0.181 0.081  2.241  0.025
## 46   X ~~   X   1.000 0.000     NA     NA
## 47  M1 ~~  M1   0.757 0.058 12.989  0.000
## 48  M2 ~~  M2   0.739 0.061 12.184  0.000
## 49   Y ~~   Y   0.715 0.058 12.251  0.000
## 50  M1 ~~  M2   0.089 0.082  1.095  0.274

### CR, AVE 계산하기 위한 인자적재치 추출
X.loadings <- myest[1:5,4]
M1.loadings <- myest[6:10,4]
M2.loadings <- myest[11:15,4]
Y.loadings <- myest[16:20,4]
### CR, AVE 계산하기 위한 오차항 분산정보 추출
X.var.theta <- myest[21:25,4]
M1.var.theta <- myest[26:30,4]
M2.var.theta <- myest[31:35,4]
Y.var.theta <- myest[36:40,4]
### CR, AVE 계산하기 위한 함수
CR.AVE.function <- function(myloadings, mythetas){
  SS.L2 <- sum(myloadings)^2
  SS.Lsq <- sum(myloadings^2)
  SS.thetas <- sum(mythetas)
  myCR <- SS.L2/(SS.L2+SS.thetas)
  myAVE <- SS.Lsq/(SS.Lsq+SS.thetas)
  myresult <- cbind(myCR, myAVE)
  colnames(myresult) <- c("composite.Reliability", "ave.variance.extracted")
  myresult
}

CR.AVE.function(X.loadings, X.var.theta)
##      composite.Reliability ave.variance.extracted
## [1,]              0.832557              0.4994843
CR.AVE.function(M1.loadings, M1.var.theta)
##      composite.Reliability ave.variance.extracted
## [1,]             0.8569914              0.5454038
CR.AVE.function(M2.loadings, M2.var.theta)
##      composite.Reliability ave.variance.extracted
## [1,]              0.826194              0.4880895
CR.AVE.function(Y.loadings, Y.var.theta)
##      composite.Reliability ave.variance.extracted
## [1,]             0.8538611              0.5398837

### k행렬, A행렬을 추가로 추정하는 경우
mysem2 <- paste(mysem1, 
                "X1~1; X2~1; X3~1; X4~1; X5~1 
                X6~1; X7~1; X8~1; X9~1; X10~1
                X11~1; X12~1; X13~1; X14~1; X15~1
                X16~1; X17~1; X18~1; X19~1; X20~1", 
                sep="\n")

obj.mysem2 <- sem(mysem2, data=f4structure)
summary(obj.mysem2, fit.measures=T, standardized=T)
## lavaan (0.5-23.1097) converged normally after  31 iterations
## 
##   Number of observations                           254
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic              149.415
##   Degrees of freedom                               164
##   P-value (Chi-square)                           0.786
## 
## Model test baseline model:
## 
##   Minimum Function Test Statistic             2158.772
##   Degrees of freedom                               190
##   P-value                                        0.000
## 
## User model versus baseline model:
## 
##   Comparative Fit Index (CFI)                    1.000
##   Tucker-Lewis Index (TLI)                       1.009
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -7334.339
##   Loglikelihood unrestricted model (H1)      -7259.632
## 
##   Number of free parameters                         66
##   Akaike (AIC)                               14800.678
##   Bayesian (BIC)                             15034.142
##   Sample-size adjusted Bayesian (BIC)        14824.908
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.000
##   90 Percent Confidence Interval          0.000  0.020
##   P-value RMSEA <= 0.05                          1.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.037
## 
## Parameter Estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   X =~                                                                  
##     X1                1.000                               0.827    0.673
##     X2                1.031    0.113    9.099    0.000    0.853    0.666
##     X3                1.173    0.114   10.277    0.000    0.969    0.778
##     X4                1.054    0.113    9.288    0.000    0.871    0.683
##     X5                1.101    0.113    9.780    0.000    0.910    0.728
##   M1 =~                                                                 
##     X6                1.000                               0.920    0.721
##     X7                0.988    0.096   10.300    0.000    0.909    0.701
##     X8                1.000    0.091   10.959    0.000    0.919    0.749
##     X9                1.056    0.096   11.050    0.000    0.971    0.756
##     X10               1.014    0.091   11.174    0.000    0.933    0.765
##   M2 =~                                                                 
##     X11               1.000                               0.997    0.757
##     X12               0.884    0.084   10.569    0.000    0.881    0.720
##     X13               0.800    0.078   10.224    0.000    0.798    0.695
##     X14               0.800    0.082    9.789    0.000    0.798    0.664
##     X15               0.787    0.082    9.630    0.000    0.785    0.653
##   Y =~                                                                  
##     X16               1.000                               0.947    0.743
##     X17               1.034    0.088   11.725    0.000    0.979    0.782
##     X18               0.856    0.088    9.736    0.000    0.810    0.648
##     X19               0.975    0.084   11.537    0.000    0.923    0.768
##     X20               1.027    0.094   10.924    0.000    0.973    0.726
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   M1 ~                                                                  
##     X                 0.549    0.091    6.019    0.000    0.493    0.493
##   M2 ~                                                                  
##     X                 0.617    0.099    6.204    0.000    0.511    0.511
##   Y ~                                                                   
##     X                -0.000    0.104   -0.002    0.999   -0.000   -0.000
##     M1                0.461    0.090    5.146    0.000    0.448    0.448
##     M2                0.171    0.078    2.185    0.029    0.181    0.181
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##  .M1 ~~                                                                 
##    .M2                0.061    0.057    1.072    0.284    0.089    0.089
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .X1                4.020    0.077   52.177    0.000    4.020    3.274
##    .X2                4.059    0.080   50.542    0.000    4.059    3.171
##    .X3                4.028    0.078   51.485    0.000    4.028    3.230
##    .X4                4.193    0.080   52.371    0.000    4.193    3.286
##    .X5                4.031    0.079   51.345    0.000    4.031    3.222
##    .X6                4.094    0.080   51.130    0.000    4.094    3.208
##    .X7                4.004    0.081   49.216    0.000    4.004    3.088
##    .X8                4.012    0.077   52.071    0.000    4.012    3.267
##    .X9                3.933    0.081   48.754    0.000    3.933    3.059
##    .X10               4.075    0.077   53.264    0.000    4.075    3.342
##    .X11               4.047    0.083   48.928    0.000    4.047    3.070
##    .X12               3.988    0.077   51.900    0.000    3.988    3.256
##    .X13               3.980    0.072   55.245    0.000    3.980    3.466
##    .X14               4.028    0.075   53.414    0.000    4.028    3.352
##    .X15               4.122    0.075   54.637    0.000    4.122    3.428
##    .X16               3.921    0.080   49.044    0.000    3.921    3.077
##    .X17               3.870    0.079   49.229    0.000    3.870    3.089
##    .X18               3.925    0.079   50.002    0.000    3.925    3.137
##    .X19               3.902    0.075   51.762    0.000    3.902    3.248
##    .X20               3.976    0.084   47.305    0.000    3.976    2.968
##     X                 0.000                               0.000    0.000
##    .M1                0.000                               0.000    0.000
##    .M2                0.000                               0.000    0.000
##    .Y                 0.000                               0.000    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .X1                0.824    0.086    9.586    0.000    0.824    0.547
##    .X2                0.911    0.094    9.651    0.000    0.911    0.556
##    .X3                0.615    0.075    8.146    0.000    0.615    0.395
##    .X4                0.869    0.092    9.495    0.000    0.869    0.534
##    .X5                0.737    0.082    8.973    0.000    0.737    0.471
##    .X6                0.783    0.083    9.380    0.000    0.783    0.481
##    .X7                0.855    0.089    9.582    0.000    0.855    0.509
##    .X8                0.663    0.073    9.031    0.000    0.663    0.439
##    .X9                0.709    0.079    8.935    0.000    0.709    0.429
##    .X10               0.617    0.070    8.794    0.000    0.617    0.415
##    .X11               0.743    0.090    8.299    0.000    0.743    0.428
##    .X12               0.723    0.081    8.890    0.000    0.723    0.482
##    .X13               0.682    0.074    9.209    0.000    0.682    0.518
##    .X14               0.807    0.085    9.531    0.000    0.807    0.559
##    .X15               0.829    0.086    9.632    0.000    0.829    0.573
##    .X16               0.728    0.080    9.050    0.000    0.728    0.448
##    .X17               0.611    0.072    8.431    0.000    0.611    0.389
##    .X18               0.909    0.091    9.981    0.000    0.909    0.581
##    .X19               0.592    0.068    8.668    0.000    0.592    0.410
##    .X20               0.849    0.092    9.264    0.000    0.849    0.473
##     X                 0.683    0.121    5.658    0.000    1.000    1.000
##    .M1                0.640    0.107    6.007    0.000    0.757    0.757
##    .M2                0.735    0.119    6.162    0.000    0.739    0.739
##    .Y                 0.641    0.103    6.213    0.000    0.715    0.715
### 잠재변수의 k행렬, A행렬을 추정한 경우
mysem3 <- paste(mysem1, 
                "X1~0; X2~1; X3~1; X4~1; X5~1; X~1
                X6~0; X7~1; X8~1; X9~1; X10~1; M1~1
                X11~0; X12~1; X13~1; X14~1; X15~1; M2~1
                X16~0; X17~1; X18~1; X19~1; X20~1; Y~1", 
                sep="\n")

obj.mysem3 <- sem(mysem3, data=f4structure)
summary(obj.mysem3, fit.measures=T, standardized=T)
## lavaan (0.5-23.1097) converged normally after 116 iterations
## 
##   Number of observations                           254
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic              149.415
##   Degrees of freedom                               164
##   P-value (Chi-square)                           0.786
## 
## Model test baseline model:
## 
##   Minimum Function Test Statistic             2158.772
##   Degrees of freedom                               190
##   P-value                                        0.000
## 
## User model versus baseline model:
## 
##   Comparative Fit Index (CFI)                    1.000
##   Tucker-Lewis Index (TLI)                       1.009
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -7334.339
##   Loglikelihood unrestricted model (H1)      -7259.632
## 
##   Number of free parameters                         66
##   Akaike (AIC)                               14800.678
##   Bayesian (BIC)                             15034.142
##   Sample-size adjusted Bayesian (BIC)        14824.908
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.000
##   90 Percent Confidence Interval          0.000  0.020
##   P-value RMSEA <= 0.05                          1.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.037
## 
## Parameter Estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   X =~                                                                  
##     X1                1.000                               0.827    0.673
##     X2                1.031    0.113    9.099    0.000    0.853    0.666
##     X3                1.173    0.114   10.277    0.000    0.969    0.778
##     X4                1.054    0.113    9.288    0.000    0.871    0.683
##     X5                1.101    0.113    9.780    0.000    0.910    0.728
##   M1 =~                                                                 
##     X6                1.000                               0.920    0.721
##     X7                0.988    0.096   10.300    0.000    0.909    0.701
##     X8                1.000    0.091   10.959    0.000    0.919    0.749
##     X9                1.056    0.096   11.050    0.000    0.971    0.756
##     X10               1.014    0.091   11.174    0.000    0.933    0.765
##   M2 =~                                                                 
##     X11               1.000                               0.997    0.757
##     X12               0.884    0.084   10.569    0.000    0.881    0.720
##     X13               0.800    0.078   10.224    0.000    0.798    0.695
##     X14               0.800    0.082    9.789    0.000    0.798    0.664
##     X15               0.787    0.082    9.630    0.000    0.785    0.653
##   Y =~                                                                  
##     X16               1.000                               0.947    0.743
##     X17               1.034    0.088   11.725    0.000    0.979    0.782
##     X18               0.856    0.088    9.736    0.000    0.810    0.648
##     X19               0.975    0.084   11.537    0.000    0.923    0.768
##     X20               1.027    0.094   10.924    0.000    0.973    0.726
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   M1 ~                                                                  
##     X                 0.549    0.091    6.019    0.000    0.493    0.493
##   M2 ~                                                                  
##     X                 0.617    0.099    6.204    0.000    0.511    0.511
##   Y ~                                                                   
##     X                -0.000    0.104   -0.002    0.999   -0.000   -0.000
##     M1                0.461    0.090    5.146    0.000    0.448    0.448
##     M2                0.171    0.078    2.185    0.029    0.181    0.181
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##  .M1 ~~                                                                 
##    .M2                0.061    0.057    1.072    0.284    0.089    0.089
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .X1                0.000                               0.000    0.000
##    .X2               -0.087    0.463   -0.188    0.851   -0.087   -0.068
##    .X3               -0.686    0.466   -1.471    0.141   -0.686   -0.550
##    .X4               -0.043    0.464   -0.093    0.926   -0.043   -0.034
##    .X5               -0.395    0.460   -0.859    0.390   -0.395   -0.316
##     X                 4.020    0.077   52.177    0.000    4.862    4.862
##    .X6                0.000                               0.000    0.000
##    .X7               -0.043    0.401   -0.108    0.914   -0.043   -0.033
##    .X8               -0.081    0.381   -0.214    0.831   -0.081   -0.066
##    .X9               -0.392    0.399   -0.981    0.326   -0.392   -0.305
##    .X10              -0.077    0.379   -0.204    0.839   -0.077   -0.063
##    .M1                1.890    0.375    5.036    0.000    2.055    2.055
##    .X11               0.000                               0.000    0.000
##    .X12               0.412    0.346    1.192    0.233    0.412    0.337
##    .X13               0.744    0.324    2.298    0.022    0.744    0.648
##    .X14               0.789    0.338    2.331    0.020    0.789    0.657
##    .X15               0.935    0.339    2.762    0.006    0.935    0.778
##    .M2                1.569    0.408    3.842    0.000    1.573    1.573
##    .X16               0.000                               0.000    0.000
##    .X17              -0.186    0.354   -0.527    0.598   -0.186   -0.149
##    .X18               0.569    0.353    1.614    0.107    0.569    0.455
##    .X19               0.079    0.339    0.234    0.815    0.079    0.066
##    .X20              -0.053    0.377   -0.140    0.889   -0.053   -0.039
##    .Y                 1.341    0.395    3.395    0.001    1.416    1.416
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .X1                0.824    0.086    9.586    0.000    0.824    0.547
##    .X2                0.911    0.094    9.651    0.000    0.911    0.556
##    .X3                0.615    0.075    8.146    0.000    0.615    0.395
##    .X4                0.869    0.092    9.495    0.000    0.869    0.534
##    .X5                0.737    0.082    8.973    0.000    0.737    0.471
##    .X6                0.783    0.083    9.380    0.000    0.783    0.481
##    .X7                0.855    0.089    9.582    0.000    0.855    0.509
##    .X8                0.663    0.073    9.032    0.000    0.663    0.439
##    .X9                0.709    0.079    8.935    0.000    0.709    0.429
##    .X10               0.617    0.070    8.794    0.000    0.617    0.415
##    .X11               0.743    0.090    8.300    0.000    0.743    0.428
##    .X12               0.723    0.081    8.890    0.000    0.723    0.482
##    .X13               0.682    0.074    9.209    0.000    0.682    0.518
##    .X14               0.807    0.085    9.531    0.000    0.807    0.559
##    .X15               0.829    0.086    9.632    0.000    0.829    0.573
##    .X16               0.728    0.080    9.050    0.000    0.728    0.448
##    .X17               0.611    0.072    8.431    0.000    0.611    0.389
##    .X18               0.909    0.091    9.981    0.000    0.909    0.581
##    .X19               0.592    0.068    8.668    0.000    0.592    0.410
##    .X20               0.849    0.092    9.264    0.000    0.849    0.473
##     X                 0.683    0.121    5.659    0.000    1.000    1.000
##    .M1                0.640    0.107    6.007    0.000    0.757    0.757
##    .M2                0.735    0.119    6.162    0.000    0.739    0.739
##    .Y                 0.641    0.103    6.213    0.000    0.715    0.715

### 동등성 제약을 이용하여 M2 인자적재치들이 동등한지 여부 테스트
mysem1a <- "
X =~ X1+X2+X3+X4+X5
M1 =~ X6+X7+X8+X9+X10
M2 =~ g3_*X11+g3_*X12+g3_*X13+g3_*X14+g3_*X15
Y =~ X16+X17+X18+X19+X20
X1~~X1; X2~~X2; X3~~X3; X4~~X4; X5~~X5
X6~~X6; X7~~X7; X8~~X8; X9~~X9; X10~~X10
X11~~X11; X12~~X12; X13~~X13; X14~~X14; X15~~X15
X16~~X16; X17~~X17; X18~~X18; X19~~X19; X20~~X20
M1~X; M2~X; Y~X
Y~M1+M2
X~~X
M1~~M1; M2~~M2; Y~~Y; M1~~M2"

obj.mysem1a <- sem(mysem1a, data=f4structure)
anova(obj.mysem1, obj.mysem1a)
## Chi Square Difference Test
## 
##              Df   AIC   BIC  Chisq Chisq diff Df diff Pr(>Chisq)
## obj.mysem1  164 14761 14923 149.41                              
## obj.mysem1a 168 14760 14909 157.18     7.7685       4     0.1004
### 동등성 제약을 이용하여 A행렬의 모수들의 동등성을 테스트
mysem2a <- paste(mysem1, 
                 "X1~1; X2~1; X3~1; X4~1; X5~1 
                 X6~1; X7~1; X8~1; X9~1; X10~1
                 X11~a2*1; X12~a2*1; X13~a2*1; X14~a2*1; X15~a2*1
                 X16~1; X17~1; X18~1; X19~1; X20~1", 
                 sep="\n")

obj.mysem2a <- sem(mysem2a, data=f4structure)
anova(obj.mysem2, obj.mysem2a)
## Chi Square Difference Test
## 
##              Df   AIC   BIC  Chisq Chisq diff Df diff Pr(>Chisq)
## obj.mysem2  164 14801 15034 149.41                              
## obj.mysem2a 168 14797 15016 153.63     4.2113       4     0.3782
### 동등성 제약을 이용하여 세 내생변수의 절편값들이 서로 동등한지를 테스트
mysem3a <- paste(mysem1, 
                 "X1~0; X2~1; X3~1; X4~1; X5~1; X~1
                 X6~0; X7~1; X8~1; X9~1; X10~1; M1~a234*1
                 X11~0; X12~1; X13~1; X14~1; X15~1; M2~a234*1
                 X16~0; X17~1; X18~1; X19~1; X20~1; Y~a234*1", 
                 sep="\n")

obj.mysem3a <- sem(mysem3a, data=f4structure)
anova(obj.mysem3, obj.mysem3a)
## Chi Square Difference Test
## 
##              Df   AIC   BIC  Chisq Chisq diff Df diff Pr(>Chisq)
## obj.mysem3  164 14801 15034 149.41                              
## obj.mysem3a 166 14798 15024 150.36    0.94237       2     0.6243

### X가 Y에 미치는 직접효과, 간접효과, 총효과의 추정 및 통계적 유의도 검증
mysem4 <- "
X =~ X1+X2+X3+X4+X5
M1 =~ X6+X7+X8+X9+X10
M2 =~ X11+X12+X13+X14+X15
Y =~ X16+X17+X18+X19+X20
X1~~X1; X2~~X2; X3~~X3; X4~~X4; X5~~X5
X6~~X6; X7~~X7; X8~~X8; X9~~X9; X10~~X10
X11~~X11; X12~~X12; X13~~X13; X14~~X14; X15~~X15
X16~~X16; X17~~X17; X18~~X18; X19~~X19; X20~~X20
M1~g1*X; M2~g2*X; Y~g3*X
Y~b1*M1+b2*M2
X~~X
M1~~M1; M2~~M2; Y~~Y; M1~~M2
X1~0; X2~1; X3~1; X4~1; X5~1; X~1
X6~0; X7~1; X8~1; X9~1; X10~1; M1~1
X11~0; X12~1; X13~1; X14~1; X15~1; M2~1
X16~0; X17~1; X18~1; X19~1; X20~1; Y~1
DE:= g3
IE1 := g1*b1
IE2 := g2*b2
IE := IE1+IE2
TE := DE+IE
diff.IE := IE1-IE2"

obj.mysem4 <- sem(mysem4, data=f4structure)
summary(obj.mysem4, standardized=T)
## lavaan (0.5-23.1097) converged normally after 116 iterations
## 
##   Number of observations                           254
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic              149.415
##   Degrees of freedom                               164
##   P-value (Chi-square)                           0.786
## 
## Parameter Estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   X =~                                                                  
##     X1                1.000                               0.827    0.673
##     X2                1.031    0.113    9.099    0.000    0.853    0.666
##     X3                1.173    0.114   10.277    0.000    0.969    0.778
##     X4                1.054    0.113    9.288    0.000    0.871    0.683
##     X5                1.101    0.113    9.780    0.000    0.910    0.728
##   M1 =~                                                                 
##     X6                1.000                               0.920    0.721
##     X7                0.988    0.096   10.300    0.000    0.909    0.701
##     X8                1.000    0.091   10.959    0.000    0.919    0.749
##     X9                1.056    0.096   11.050    0.000    0.971    0.756
##     X10               1.014    0.091   11.174    0.000    0.933    0.765
##   M2 =~                                                                 
##     X11               1.000                               0.997    0.757
##     X12               0.884    0.084   10.569    0.000    0.881    0.720
##     X13               0.800    0.078   10.224    0.000    0.798    0.695
##     X14               0.800    0.082    9.789    0.000    0.798    0.664
##     X15               0.787    0.082    9.630    0.000    0.785    0.653
##   Y =~                                                                  
##     X16               1.000                               0.947    0.743
##     X17               1.034    0.088   11.725    0.000    0.979    0.782
##     X18               0.856    0.088    9.736    0.000    0.810    0.648
##     X19               0.975    0.084   11.537    0.000    0.923    0.768
##     X20               1.027    0.094   10.924    0.000    0.973    0.726
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   M1 ~                                                                  
##     X         (g1)    0.549    0.091    6.019    0.000    0.493    0.493
##   M2 ~                                                                  
##     X         (g2)    0.617    0.099    6.204    0.000    0.511    0.511
##   Y ~                                                                   
##     X         (g3)   -0.000    0.104   -0.002    0.999   -0.000   -0.000
##     M1        (b1)    0.461    0.090    5.146    0.000    0.448    0.448
##     M2        (b2)    0.171    0.078    2.185    0.029    0.181    0.181
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##  .M1 ~~                                                                 
##    .M2                0.061    0.057    1.072    0.284    0.089    0.089
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .X1                0.000                               0.000    0.000
##    .X2               -0.087    0.463   -0.188    0.851   -0.087   -0.068
##    .X3               -0.686    0.466   -1.471    0.141   -0.686   -0.550
##    .X4               -0.043    0.464   -0.093    0.926   -0.043   -0.034
##    .X5               -0.395    0.460   -0.859    0.390   -0.395   -0.316
##     X                 4.020    0.077   52.177    0.000    4.862    4.862
##    .X6                0.000                               0.000    0.000
##    .X7               -0.043    0.401   -0.108    0.914   -0.043   -0.033
##    .X8               -0.081    0.381   -0.214    0.831   -0.081   -0.066
##    .X9               -0.392    0.399   -0.981    0.326   -0.392   -0.305
##    .X10              -0.077    0.379   -0.204    0.839   -0.077   -0.063
##    .M1                1.890    0.375    5.036    0.000    2.055    2.055
##    .X11               0.000                               0.000    0.000
##    .X12               0.412    0.346    1.192    0.233    0.412    0.337
##    .X13               0.744    0.324    2.298    0.022    0.744    0.648
##    .X14               0.789    0.338    2.331    0.020    0.789    0.657
##    .X15               0.935    0.339    2.762    0.006    0.935    0.778
##    .M2                1.569    0.408    3.842    0.000    1.573    1.573
##    .X16               0.000                               0.000    0.000
##    .X17              -0.186    0.354   -0.527    0.598   -0.186   -0.149
##    .X18               0.569    0.353    1.614    0.107    0.569    0.455
##    .X19               0.079    0.339    0.234    0.815    0.079    0.066
##    .X20              -0.053    0.377   -0.140    0.889   -0.053   -0.039
##    .Y                 1.341    0.395    3.395    0.001    1.416    1.416
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .X1                0.824    0.086    9.586    0.000    0.824    0.547
##    .X2                0.911    0.094    9.651    0.000    0.911    0.556
##    .X3                0.615    0.075    8.146    0.000    0.615    0.395
##    .X4                0.869    0.092    9.495    0.000    0.869    0.534
##    .X5                0.737    0.082    8.973    0.000    0.737    0.471
##    .X6                0.783    0.083    9.380    0.000    0.783    0.481
##    .X7                0.855    0.089    9.582    0.000    0.855    0.509
##    .X8                0.663    0.073    9.032    0.000    0.663    0.439
##    .X9                0.709    0.079    8.935    0.000    0.709    0.429
##    .X10               0.617    0.070    8.794    0.000    0.617    0.415
##    .X11               0.743    0.090    8.300    0.000    0.743    0.428
##    .X12               0.723    0.081    8.890    0.000    0.723    0.482
##    .X13               0.682    0.074    9.209    0.000    0.682    0.518
##    .X14               0.807    0.085    9.531    0.000    0.807    0.559
##    .X15               0.829    0.086    9.632    0.000    0.829    0.573
##    .X16               0.728    0.080    9.050    0.000    0.728    0.448
##    .X17               0.611    0.072    8.431    0.000    0.611    0.389
##    .X18               0.909    0.091    9.981    0.000    0.909    0.581
##    .X19               0.592    0.068    8.668    0.000    0.592    0.410
##    .X20               0.849    0.092    9.264    0.000    0.849    0.473
##     X                 0.683    0.121    5.659    0.000    1.000    1.000
##    .M1                0.640    0.107    6.007    0.000    0.757    0.757
##    .M2                0.735    0.119    6.162    0.000    0.739    0.739
##    .Y                 0.641    0.103    6.213    0.000    0.715    0.715
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     DE               -0.000    0.104   -0.002    0.999   -0.000   -0.000
##     IE1               0.253    0.061    4.141    0.000    0.221    0.221
##     IE2               0.106    0.051    2.086    0.037    0.092    0.092
##     IE                0.359    0.081    4.401    0.000    0.313    0.313
##     TE                0.358    0.088    4.067    0.000    0.313    0.313
##     diff.IE           0.147    0.077    1.906    0.057    0.128    0.128

### 동등성 제약을 부여한 후 새로운 모수를 생성 및 추정
mysem3b <- "
X = ~l1_*X1+l1_*X2+l1_*X3+l1_*X4+l1_*X5
M1 =~ l2_*X6+l2_*X7+l2_*X8+l2_*X9+l2_*X10
M2 =~ l3_*X11+l3_*X12+l3_*X13+l3_*X14+l3_*X15
Y =~  l4_*X16+l4_*X17+l4_*X18+l4_*X19+l4_*X20
X1~~X1; X2~~X2; X3~~X3; X4~~X4; X5~~X5
X6~~X6; X7~~X7; X8~~X8; X9~~X9; X10~~X10
X11~~X11; X12~~X12; X13~~X13; X14~~X14; X15~~X15
X16~~X16; X17~~X17; X18~~X18; X19~~X19; X20~~X20
M1~g1*X; M2~g2*X; Y~g3*X
Y~b1*M1+b2*M2
X~~X
M1~~M1; M2~~M2; Y~~Y; M1~~M2
X1~0; X2~1; X3~1; X4~1; X5~1; X~1
X6~0; X7~1; X8~1; X9~1; X10~1; M1~1
X11~0; X12~1; X13~1; X14~1; X15~1; M2~1
X16~0; X17~1; X18~1; X19~1; X20~1; Y~1
DE := g3
IE1 := g1*b1
IE2 := g2*b2
IE := IE1+IE2
TE := DE+IE
diff.IE := IE1-IE2"

obj.mysem3b <- sem(mysem3b, data=f4structure)
anova(obj.mysem3, obj.mysem3b)
## Chi Square Difference Test
## 
##              Df   AIC   BIC  Chisq Chisq diff Df diff Pr(>Chisq)
## obj.mysem3  164 14801 15034 149.41                              
## obj.mysem3b 180 14785 14962 165.82     16.408      16     0.4248
summary(obj.mysem3b, standardized=T)
## lavaan (0.5-23.1097) converged normally after  81 iterations
## 
##   Number of observations                           254
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic              165.823
##   Degrees of freedom                               180
##   P-value (Chi-square)                           0.768
## 
## Parameter Estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   X =~                                                                  
##     X1       (l1_)    1.000                               0.890    0.705
##     X2       (l1_)    1.000                               0.890    0.684
##     X3       (l1_)    1.000                               0.890    0.740
##     X4       (l1_)    1.000                               0.890    0.693
##     X5       (l1_)    1.000                               0.890    0.718
##   M1 =~                                                                 
##     X6       (l2_)    1.000                               0.931    0.726
##     X7       (l2_)    1.000                               0.931    0.711
##     X8       (l2_)    1.000                               0.931    0.754
##     X9       (l2_)    1.000                               0.931    0.738
##     X10      (l2_)    1.000                               0.931    0.764
##   M2 =~                                                                 
##     X11      (l3_)    1.000                               0.849    0.682
##     X12      (l3_)    1.000                               0.849    0.704
##     X13      (l3_)    1.000                               0.849    0.722
##     X14      (l3_)    1.000                               0.849    0.691
##     X15      (l3_)    1.000                               0.849    0.687
##   Y =~                                                                  
##     X16      (l4_)    1.000                               0.930    0.736
##     X17      (l4_)    1.000                               0.930    0.759
##     X18      (l4_)    1.000                               0.930    0.703
##     X19      (l4_)    1.000                               0.930    0.772
##     X20      (l4_)    1.000                               0.930    0.706
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   M1 ~                                                                  
##     X         (g1)    0.518    0.071    7.286    0.000    0.495    0.495
##   M2 ~                                                                  
##     X         (g2)    0.479    0.066    7.233    0.000    0.502    0.502
##   Y ~                                                                   
##     X         (g3)    0.004    0.094    0.037    0.970    0.003    0.003
##     M1        (b1)    0.443    0.079    5.626    0.000    0.444    0.444
##     M2        (b2)    0.206    0.089    2.324    0.020    0.188    0.188
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##  .M1 ~~                                                                 
##    .M2                0.055    0.049    1.106    0.269    0.092    0.092
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .X1                0.000                               0.000    0.000
##    .X2                0.039    0.082    0.481    0.631    0.039    0.030
##    .X3                0.008    0.076    0.104    0.917    0.008    0.007
##    .X4                0.173    0.081    2.141    0.032    0.173    0.135
##    .X5                0.012    0.078    0.151    0.880    0.012    0.010
##     X                 4.020    0.079   50.702    0.000    4.515    4.515
##    .X6                0.000                               0.000    0.000
##    .X7               -0.091    0.080   -1.131    0.258   -0.091   -0.069
##    .X8               -0.083    0.075   -1.100    0.271   -0.083   -0.067
##    .X9               -0.161    0.077   -2.098    0.036   -0.161   -0.128
##    .X10              -0.020    0.074   -0.266    0.791   -0.020   -0.016
##    .M1                2.012    0.297    6.776    0.000    2.161    2.161
##    .X11               0.000                               0.000    0.000
##    .X12              -0.059    0.079   -0.752    0.452   -0.059   -0.049
##    .X13              -0.067    0.077   -0.873    0.382   -0.067   -0.057
##    .X14              -0.020    0.080   -0.246    0.805   -0.020   -0.016
##    .X15               0.075    0.080    0.932    0.352    0.075    0.061
##    .M2                2.123    0.277    7.656    0.000    2.500    2.500
##    .X16               0.000                               0.000    0.000
##    .X17              -0.051    0.073   -0.698    0.485   -0.051   -0.042
##    .X18               0.004    0.080    0.049    0.961    0.004    0.003
##    .X19              -0.020    0.072   -0.274    0.784   -0.020   -0.016
##    .X20               0.055    0.079    0.694    0.488    0.055    0.042
##    .Y                 1.258    0.351    3.580    0.000    1.353    1.353
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .X1                0.804    0.084    9.546    0.000    0.804    0.504
##    .X2                0.900    0.093    9.733    0.000    0.900    0.532
##    .X3                0.657    0.072    9.153    0.000    0.657    0.453
##    .X4                0.859    0.089    9.657    0.000    0.859    0.520
##    .X5                0.745    0.079    9.408    0.000    0.745    0.485
##    .X6                0.778    0.081    9.580    0.000    0.778    0.473
##    .X7                0.849    0.087    9.724    0.000    0.849    0.495
##    .X8                0.657    0.071    9.265    0.000    0.657    0.431
##    .X9                0.726    0.077    9.458    0.000    0.726    0.456
##    .X10               0.618    0.068    9.138    0.000    0.618    0.416
##    .X11               0.830    0.086    9.633    0.000    0.830    0.535
##    .X12               0.735    0.078    9.418    0.000    0.735    0.505
##    .X13               0.661    0.072    9.206    0.000    0.661    0.478
##    .X14               0.790    0.083    9.548    0.000    0.790    0.523
##    .X15               0.807    0.084    9.586    0.000    0.807    0.528
##    .X16               0.730    0.078    9.418    0.000    0.730    0.458
##    .X17               0.635    0.070    9.136    0.000    0.635    0.424
##    .X18               0.884    0.091    9.744    0.000    0.884    0.506
##    .X19               0.585    0.065    8.953    0.000    0.585    0.404
##    .X20               0.872    0.090    9.723    0.000    0.872    0.502
##     X                 0.793    0.085    9.377    0.000    1.000    1.000
##    .M1                0.654    0.075    8.746    0.000    0.755    0.755
##    .M2                0.540    0.065    8.311    0.000    0.748    0.748
##    .Y                 0.616    0.071    8.692    0.000    0.712    0.712
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     DE                0.004    0.094    0.037    0.970    0.003    0.003
##     IE1               0.230    0.052    4.441    0.000    0.220    0.220
##     IE2               0.099    0.045    2.211    0.027    0.094    0.094
##     IE                0.328    0.068    4.849    0.000    0.314    0.314
##     TE                0.332    0.075    4.431    0.000    0.318    0.318
##     diff.IE           0.131    0.069    1.902    0.057    0.126    0.126

### 측정오차가 인과관계 추정에 미치는 영향 <p.169>
pm <- fread("sem_with_reliability.csv")
#### s행렬
cov(pm)
##           x         y
## x 1.0000000 0.1262732
## y 0.1262732 1.0000000
#### 관측변수의 고유분산이 전혀 존재하지 않는 경우
merror1 <- "
X=~x
Y=~y
x~~0*x
y~~0*y
Y~X
X~~X
Y~~Y"
obj.morror1<- sem(merror1, data=pm)
summary(obj.morror1, fit.measures=F, standardized=T)
## lavaan (0.5-23.1097) converged normally after  14 iterations
## 
##   Number of observations                           250
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic                0.000
##   Degrees of freedom                                 0
## 
## Parameter Estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   X =~                                                                  
##     x                 1.000                               0.998    1.000
##   Y =~                                                                  
##     y                 1.000                               0.998    1.000
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Y ~                                                                   
##     X                 0.126    0.063    2.013    0.044    0.126    0.126
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .x                 0.000                               0.000    0.000
##    .y                 0.000                               0.000    0.000
##     X                 0.996    0.089   11.180    0.000    1.000    1.000
##    .Y                 0.980    0.088   11.180    0.000    0.984    0.984
### 관측변수의 고유분산이 관측변수 분산의 절반인 경우
merror2 <- "
X=~x
Y=~y
x~~0.5*x
y~~0.5*y
Y~X
X~~X
Y~~Y"
obj.morror2<- sem(merror2, data=pm)
summary(obj.morror2, fit.measures=F, standardized=T)
## lavaan (0.5-23.1097) converged normally after  14 iterations
## 
##   Number of observations                           250
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic                0.000
##   Degrees of freedom                                 0
##   Minimum Function Value               0.0000000000000
## 
## Parameter Estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   X =~                                                                  
##     x                 1.000                               0.704    0.706
##   Y =~                                                                  
##     y                 1.000                               0.704    0.706
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Y ~                                                                   
##     X                 0.254    0.128    1.980    0.048    0.254    0.254
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .x                 0.500                               0.500    0.502
##    .y                 0.500                               0.500    0.502
##     X                 0.496    0.089    5.568    0.000    1.000    1.000
##    .Y                 0.464    0.089    5.208    0.000    0.936    0.936