“用R进行结构方程模型分析”的版本间的差异
来自OBHRM百科
Lichaoping(讨论 | 贡献) (→脚本与注释) |
Lichaoping(讨论 | 贡献) |
||
(未显示同一用户的2个中间版本) | |||
第2行: | 第2行: | ||
<pre>library(lavaan) # 调用lavaan包,如果没有安装,需要先安装 | <pre>library(lavaan) # 调用lavaan包,如果没有安装,需要先安装 | ||
curwd=setwd("c:\\program files\\mplus\\mplus examples\\user's guide examples") # 设定数据文件所在的目录为工作目录,如果脚本与数据文件在同一目录,则不需要设定 | curwd=setwd("c:\\program files\\mplus\\mplus examples\\user's guide examples") # 设定数据文件所在的目录为工作目录,如果脚本与数据文件在同一目录,则不需要设定 | ||
− | semdata <- read.table("ex5.11.dat") | + | semdata <- read.table("ex5.11.dat") # 读取数据文件到cfadata,cfadata是自己命名,可以随便定 |
− | names(semdata) <-c(paste("y", 1:12, sep="")) | + | names(semdata) <-c(paste("y", 1:12, sep="")) # 给变量命名 |
− | semmodel <- ' | + | semmodel <- ' # 设置模型,semmodel还是自己命名 |
− | f1=~ y1+y2+y3 | + | f1=~ y1+y2+y3 # 测量模型,用=~ |
f2=~ y4+y5+y6 | f2=~ y4+y5+y6 | ||
f3=~ y7+y8+y9 | f3=~ y7+y8+y9 | ||
f4=~ y10+y11+y12 | f4=~ y10+y11+y12 | ||
− | f3 ~ f1+f2 | + | f3 ~ f1+f2 # 路径 |
f4 ~ f3 | f4 ~ f3 | ||
− | f1 ~~ f2 | + | f1 ~~ f2 # f1与f2相关 |
' | ' | ||
− | semfit <- sem(semmodel, semdata) | + | semfit <- sem(semmodel, semdata) # 计算,semfit为自己命名,方便后面调用 |
− | summary(semfit,fit.measures="TRUE") | + | summary(semfit,fit.measures="TRUE") # 显示SEM的总体结果 |
− | fitMeasures(semfit,fit.measures="all", baseline.model=NULL) | + | fitMeasures(semfit,fit.measures="all", baseline.model=NULL) # 显示所有拟合指数 |
− | standardizedSolution(semfit) | + | standardizedSolution(semfit) # 显示标准化的结果</pre> |
==结果== | ==结果== | ||
+ | <pre>> 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</pre> |
2017年3月13日 (一) 11:40的最新版本
脚本与注释
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