用R进行结构方程模型分析

来自OBHRM百科
跳转至: 导航搜索

脚本与注释

library(lavaan)                                                                 # 调用lavaan包,如果没有安装,需要先安装
curwd=setwd("c:\\program files\\mplus\\mplus examples\\user's guide examples")  # 设定数据文件所在的目录为工作目录,如果脚本与数据文件在同一目录,则不需要设定
semdata <- read.table("ex5.11.dat")                                    # 读取数据文件到cfadata,cfadata是自己命名,可以随便定
names(semdata) <-c(paste("y", 1:12, sep=""))                           # 给变量命名
semmodel <- '                                                          # 设置模型,semmodel还是自己命名
              f1=~ y1+y2+y3                                            # 测量模型,用=~
              f2=~ y4+y5+y6
              f3=~ y7+y8+y9
              f4=~ y10+y11+y12
              f3 ~ f1+f2                                               # 路径
              f4 ~ f3
              f1 ~~ f2                                                 # f1与f2相关
 '
semfit <- sem(semmodel, semdata)                                       # 计算,semfit为自己命名,方便后面调用
summary(semfit,fit.measures="TRUE")                                    # 显示SEM的总体结果
fitMeasures(semfit,fit.measures="all", baseline.model=NULL)            # 显示所有拟合指数
standardizedSolution(semfit)                                           # 显示标准化的结果

结果

> summary(semfit,fit.measures="TRUE")                                    # 显示SEM的总体结果
lavaan (0.5-23.1097) converged normally after  35 iterations

  Number of observations                           500

  Estimator                                         ML
  Minimum Function Test Statistic               53.704
  Degrees of freedom                                50
  P-value (Chi-square)                           0.334

Model test baseline model:

  Minimum Function Test Statistic             1524.403
  Degrees of freedom                                66
  P-value                                        0.000

User model versus baseline model:

  Comparative Fit Index (CFI)                    0.997
  Tucker-Lewis Index (TLI)                       0.997

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -9646.960
  Loglikelihood unrestricted model (H1)      -9620.108

  Number of free parameters                         28
  Akaike (AIC)                               19349.920
  Bayesian (BIC)                             19467.929
  Sample-size adjusted Bayesian (BIC)        19379.056

Root Mean Square Error of Approximation:

  RMSEA                                          0.012
  90 Percent Confidence Interval          0.000  0.032
  P-value RMSEA <= 0.05                          1.000

Standardized Root Mean Square Residual:

  SRMR                                           0.029

Parameter Estimates:

  Information                                 Expected
  Standard Errors                             Standard

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)
  f1 =~                                               
    y1                1.000                           
    y2                1.183    0.102   11.612    0.000
    y3                0.938    0.085   11.065    0.000
  f2 =~                                               
    y4                1.000                           
    y5                0.870    0.086   10.105    0.000
    y6                0.891    0.089   10.024    0.000
  f3 =~                                               
    y7                1.000                           
    y8                0.872    0.060   14.570    0.000
    y9                0.882    0.060   14.782    0.000
  f4 =~                                               
    y10               1.000                           
    y11               0.826    0.096    8.595    0.000
    y12               0.682    0.085    7.975    0.000

Regressions:
                   Estimate  Std.Err  z-value  P(>|z|)
  f3 ~                                                
    f1                0.563    0.072    7.849    0.000
    f2                0.790    0.086    9.160    0.000
  f4 ~                                                
    f3                0.473    0.057    8.342    0.000

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)
  f1 ~~                                               
    f2               -0.030    0.055   -0.545    0.586

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)
   .y1                1.033    0.092   11.236    0.000
   .y2                0.795    0.101    7.900    0.000
   .y3                1.137    0.093   12.266    0.000
   .y4                1.151    0.104   11.097    0.000
   .y5                0.950    0.083   11.497    0.000
   .y6                1.056    0.090   11.747    0.000
   .y7                0.954    0.088   10.800    0.000
   .y8                0.945    0.079   11.976    0.000
   .y9                0.896    0.077   11.658    0.000
   .y10               1.202    0.118   10.178    0.000
   .y11               0.916    0.085   10.751    0.000
   .y12               1.071    0.083   12.933    0.000
    f1                0.884    0.121    7.311    0.000
    f2                0.888    0.130    6.853    0.000
   .f3                0.550    0.091    6.054    0.000
   .f4                0.555    0.103    5.403    0.000

> fitMeasures(semfit,fit.measures="all", baseline.model=NULL)            # 显示所有拟合指数
               npar                fmin               chisq 
             28.000               0.054              53.704 
                 df              pvalue      baseline.chisq 
             50.000               0.334            1524.403 
        baseline.df     baseline.pvalue                 cfi 
             66.000               0.000               0.997 
                tli                nnfi                 rfi 
              0.997               0.997               0.953 
                nfi                pnfi                 ifi 
              0.965               0.731               0.997 
                rni                logl   unrestricted.logl 
              0.997           -9646.960           -9620.108 
                aic                 bic              ntotal 
          19349.920           19467.929             500.000 
               bic2               rmsea      rmsea.ci.lower 
          19379.056               0.012               0.000 
     rmsea.ci.upper        rmsea.pvalue                 rmr 
              0.032               1.000               0.054 
         rmr_nomean                srmr        srmr_bentler 
              0.054               0.029               0.029 
srmr_bentler_nomean         srmr_bollen  srmr_bollen_nomean 
              0.029               0.029               0.029 
         srmr_mplus   srmr_mplus_nomean               cn_05 
              0.029               0.029             629.494 
              cn_01                 gfi                agfi 
            710.020               0.983               0.973 
               pgfi                 mfi                ecvi 
              0.630               0.996               0.219 
> standardizedSolution(semfit)                                           # 显示标准化的结果
   lhs op rhs est.std    se      z pvalue
1   f1 =~  y1   0.679 0.035 19.612  0.000
2   f1 =~  y2   0.780 0.033 23.913  0.000
3   f1 =~  y3   0.637 0.036 17.802  0.000
4   f2 =~  y4   0.660 0.037 17.694  0.000
5   f2 =~  y5   0.644 0.038 17.049  0.000
6   f2 =~  y6   0.633 0.038 16.617  0.000
7   f3 =~  y7   0.766 0.026 29.561  0.000
8   f3 =~  y8   0.723 0.028 25.835  0.000
9   f3 =~  y9   0.736 0.027 26.914  0.000
10  f4 =~ y10   0.645 0.043 15.068  0.000
11  f4 =~ y11   0.625 0.043 14.508  0.000
12  f4 =~ y12   0.521 0.045 11.573  0.000
13  f3  ~  f1   0.454 0.047  9.663  0.000
14  f3  ~  f2   0.639 0.044 14.533  0.000
15  f4  ~  f3   0.595 0.049 12.263  0.000
16  f1 ~~  f2  -0.034 0.062 -0.546  0.585
17  y1 ~~  y1   0.539 0.047 11.464  0.000
18  y2 ~~  y2   0.392 0.051  7.695  0.000
19  y3 ~~  y3   0.594 0.046 13.026  0.000
20  y4 ~~  y4   0.564 0.049 11.467  0.000
21  y5 ~~  y5   0.586 0.049 12.057  0.000
22  y6 ~~  y6   0.600 0.048 12.453  0.000
23  y7 ~~  y7   0.413 0.040 10.385  0.000
24  y8 ~~  y8   0.478 0.040 11.827  0.000
25  y9 ~~  y9   0.459 0.040 11.404  0.000
26 y10 ~~ y10   0.583 0.055 10.548  0.000
27 y11 ~~ y11   0.610 0.054 11.343  0.000
28 y12 ~~ y12   0.728 0.047 15.522  0.000
29  f1 ~~  f1   1.000 0.000     NA     NA
30  f2 ~~  f2   1.000 0.000     NA     NA
31  f3 ~~  f3   0.405 0.056  7.280  0.000
32  f4 ~~  f4   0.646 0.058 11.195  0.000