** pvalue Chi2 < 0.05, CFI & TLI > 0.9, RMSEA < 0.08 RMSA < 0.08**
setwd("/vidu")
library(foreign)
dulieu <- read.dta("EFA.dta")
library(lavaan)
## This is lavaan 0.6-5
## lavaan is BETA software! Please report any bugs.
mohinh <-"SAT =~ SAT1 + SAT2 + SAT3 + SAT4 \n RAS=~RAS1 + RAS2 + RAS3 + RAS4 \n COM =~COM1 +COM2 +COM3 +COM4 \n PAM=~PAM1 + PAM2 +PAM3 +PAM4 \n TAD=~TAD1 + TAD2 + TAD3 + TAD4"
chayCFA <- cfa(mohinh, data=dulieu)
## Warning in lav_object_post_check(object): lavaan WARNING: some estimated ov
## variances are negative
summary(chayCFA,fit.measures=TRUE)
## lavaan 0.6-5 ended normally after 36 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 50
##
## Number of observations 150
##
## Model Test User Model:
##
## Test statistic 231.679
## Degrees of freedom 160
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 1944.892
## Degrees of freedom 190
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.959
## Tucker-Lewis Index (TLI) 0.951
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -3783.457
## Loglikelihood unrestricted model (H1) -3667.618
##
## Akaike (AIC) 7666.915
## Bayesian (BIC) 7817.447
## Sample-size adjusted Bayesian (BIC) 7659.206
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.055
## 90 Percent confidence interval - lower 0.038
## 90 Percent confidence interval - upper 0.070
## P-value RMSEA <= 0.05 0.302
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.060
##
## Parameter Estimates:
##
## Information Expected
## Information saturated (h1) model Structured
## Standard errors Standard
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|)
## SAT =~
## SAT1 1.000
## SAT2 0.718 0.075 9.625 0.000
## SAT3 0.960 0.057 16.939 0.000
## SAT4 0.666 0.077 8.612 0.000
## RAS =~
## RAS1 1.000
## RAS2 0.636 0.071 9.008 0.000
## RAS3 0.683 0.066 10.276 0.000
## RAS4 0.543 0.066 8.200 0.000
## COM =~
## COM1 1.000
## COM2 0.768 0.067 11.500 0.000
## COM3 0.976 0.051 19.032 0.000
## COM4 0.775 0.065 11.857 0.000
## PAM =~
## PAM1 1.000
## PAM2 0.770 0.075 10.340 0.000
## PAM3 0.865 0.076 11.422 0.000
## PAM4 0.737 0.074 9.956 0.000
## TAD =~
## TAD1 1.000
## TAD2 0.643 0.066 9.683 0.000
## TAD3 0.870 0.061 14.325 0.000
## TAD4 0.612 0.065 9.405 0.000
##
## Covariances:
## Estimate Std.Err z-value P(>|z|)
## SAT ~~
## RAS -0.153 0.111 -1.385 0.166
## COM 0.003 0.095 0.027 0.978
## PAM 0.138 0.094 1.465 0.143
## TAD -0.029 0.096 -0.296 0.767
## RAS ~~
## COM 0.018 0.106 0.165 0.869
## PAM 0.028 0.105 0.262 0.793
## TAD -0.027 0.108 -0.245 0.806
## COM ~~
## PAM -0.121 0.091 -1.324 0.186
## TAD -0.063 0.094 -0.671 0.502
## PAM ~~
## TAD 0.041 0.092 0.441 0.659
##
## Variances:
## Estimate Std.Err z-value P(>|z|)
## .SAT1 0.016 0.045 0.347 0.728
## .SAT2 0.849 0.101 8.395 0.000
## .SAT3 0.321 0.056 5.734 0.000
## .SAT4 0.940 0.111 8.485 0.000
## .RAS1 -0.088 0.092 -0.960 0.337
## .RAS2 0.914 0.110 8.285 0.000
## .RAS3 0.729 0.093 7.823 0.000
## .RAS4 0.852 0.101 8.471 0.000
## .COM1 0.053 0.033 1.610 0.107
## .COM2 0.613 0.075 8.217 0.000
## .COM3 0.248 0.043 5.837 0.000
## .COM4 0.581 0.071 8.176 0.000
## .PAM1 0.085 0.052 1.641 0.101
## .PAM2 0.597 0.077 7.767 0.000
## .PAM3 0.560 0.076 7.324 0.000
## .PAM4 0.607 0.077 7.882 0.000
## .TAD1 -0.037 0.050 -0.743 0.458
## .TAD2 0.680 0.080 8.458 0.000
## .TAD3 0.451 0.064 7.061 0.000
## .TAD4 0.661 0.078 8.494 0.000
## SAT 1.185 0.146 8.125 0.000
## RAS 1.610 0.198 8.146 0.000
## COM 1.085 0.135 8.023 0.000
## PAM 1.028 0.138 7.452 0.000
## TAD 1.204 0.144 8.385 0.000
library(lavaanPlot)
lavaanPlot(model = chayCFA, node_options = list(shape = "box", fontname = "Helvetica"), edge_options = list(color = "blue"), coefs = TRUE)
library(semPlot)
## Registered S3 methods overwritten by 'huge':
## method from
## plot.sim BDgraph
## print.sim BDgraph
semPaths(chayCFA,"est", title = FALSE, curvePivot = TRUE)
mohinhSEM <-"
SAT =~ SAT1 + SAT2 + SAT3 + SAT4
RAS=~RAS1 + RAS2 + RAS3 + RAS4
COM =~COM1 +COM2 +COM3 +COM4
PAM=~PAM1 + PAM2 +PAM3 +PAM4
TAD=~TAD1 + TAD2 + TAD3 + TAD4
SAT ~ RAS
SAT ~ COM
SAT ~ PAM
SAT ~ TAD
RAS ~ COM + PAM + TAD
"
chaySEM <-sem(mohinhSEM, data=dulieu)
## Warning in lav_object_post_check(object): lavaan WARNING: some estimated ov
## variances are negative
summary(chaySEM,standardized=TRUE)
## lavaan 0.6-5 ended normally after 35 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 50
##
## Number of observations 150
##
## Model Test User Model:
##
## Test statistic 231.679
## Degrees of freedom 160
## P-value (Chi-square) 0.000
##
## Parameter Estimates:
##
## Information Expected
## Information saturated (h1) model Structured
## Standard errors Standard
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SAT =~
## SAT1 1.000 1.088 0.993
## SAT2 0.718 0.075 9.625 0.000 0.782 0.647
## SAT3 0.960 0.057 16.940 0.000 1.045 0.879
## SAT4 0.666 0.077 8.612 0.000 0.725 0.599
## RAS =~
## RAS1 1.000 1.269 1.028
## RAS2 0.636 0.071 9.008 0.000 0.807 0.645
## RAS3 0.683 0.066 10.276 0.000 0.867 0.713
## RAS4 0.543 0.066 8.200 0.000 0.689 0.598
## COM =~
## COM1 1.000 1.041 0.976
## COM2 0.768 0.067 11.500 0.000 0.800 0.715
## COM3 0.976 0.051 19.032 0.000 1.017 0.898
## COM4 0.775 0.065 11.857 0.000 0.807 0.727
## PAM =~
## PAM1 1.000 1.014 0.961
## PAM2 0.770 0.075 10.340 0.000 0.781 0.711
## PAM3 0.865 0.076 11.422 0.000 0.877 0.761
## PAM4 0.737 0.074 9.956 0.000 0.748 0.693
## TAD =~
## TAD1 1.000 1.097 1.016
## TAD2 0.643 0.066 9.683 0.000 0.705 0.650
## TAD3 0.870 0.061 14.325 0.000 0.955 0.818
## TAD4 0.612 0.065 9.405 0.000 0.671 0.637
##
## Regressions:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SAT ~
## RAS -0.098 0.068 -1.454 0.146 -0.115 -0.115
## COM 0.018 0.087 0.205 0.837 0.017 0.017
## PAM 0.140 0.091 1.548 0.122 0.131 0.131
## TAD -0.030 0.079 -0.375 0.708 -0.030 -0.030
## RAS ~
## COM 0.018 0.099 0.185 0.854 0.015 0.015
## PAM 0.030 0.103 0.290 0.772 0.024 0.024
## TAD -0.022 0.090 -0.246 0.806 -0.019 -0.019
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## COM ~~
## PAM -0.121 0.091 -1.324 0.186 -0.114 -0.114
## TAD -0.063 0.094 -0.671 0.502 -0.055 -0.055
## PAM ~~
## TAD 0.041 0.092 0.441 0.659 0.037 0.037
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .SAT1 0.016 0.045 0.347 0.728 0.016 0.013
## .SAT2 0.849 0.101 8.395 0.000 0.849 0.582
## .SAT3 0.321 0.056 5.734 0.000 0.321 0.227
## .SAT4 0.940 0.111 8.485 0.000 0.940 0.641
## .RAS1 -0.088 0.092 -0.960 0.337 -0.088 -0.058
## .RAS2 0.914 0.110 8.285 0.000 0.914 0.584
## .RAS3 0.729 0.093 7.823 0.000 0.729 0.492
## .RAS4 0.852 0.101 8.471 0.000 0.852 0.643
## .COM1 0.053 0.033 1.610 0.107 0.053 0.047
## .COM2 0.613 0.075 8.217 0.000 0.613 0.489
## .COM3 0.248 0.043 5.837 0.000 0.248 0.194
## .COM4 0.581 0.071 8.176 0.000 0.581 0.472
## .PAM1 0.085 0.052 1.641 0.101 0.085 0.077
## .PAM2 0.597 0.077 7.767 0.000 0.597 0.495
## .PAM3 0.560 0.076 7.324 0.000 0.560 0.422
## .PAM4 0.607 0.077 7.882 0.000 0.607 0.520
## .TAD1 -0.037 0.050 -0.743 0.458 -0.037 -0.032
## .TAD2 0.680 0.080 8.458 0.000 0.680 0.578
## .TAD3 0.451 0.064 7.061 0.000 0.451 0.331
## .TAD4 0.661 0.078 8.494 0.000 0.661 0.595
## .SAT 1.149 0.142 8.098 0.000 0.970 0.970
## .RAS 1.609 0.198 8.143 0.000 0.999 0.999
## COM 1.085 0.135 8.023 0.000 1.000 1.000
## PAM 1.028 0.138 7.452 0.000 1.000 1.000
## TAD 1.204 0.144 8.385 0.000 1.000 1.000
lavaanPlot(model = chaySEM, node_options = list(shape = "box", fontname = "Helvetica"), edge_options = list(color = "blue"), coefs = TRUE)
semPaths(chaySEM,"std", title = FALSE, curvePivot = TRUE)