GIỚI THIỆU

Dữ liệu sử dụng trong hướng dẫn này là của PGS.TS Trần Văn Trang (Đại học Thương mại).

Bài báo gốc lấy tại: http://tckhtm.tmu.edu.vn/vi/news/cac-so-tap-chi/tap-chi-khoa-hoc-thuong-mai-so-141-153.html

Dữ liệu tải tại google diver: https://drive.google.com/drive/folders/1Npip6h8WyZjI9JGf5wonnU_scBUYj4sP?usp=sharing

Load các gói cần thiết và nhập liệu

setwd("D:/Tap huan VIASM/HoiThao_KHXH_2021/Projects/Y_Dinh_Hanh_Vi")

library(foreign)
require(tidyverse)
require(lavaan)

d <- read.spss("Case study Behavior Intention.sav",
               use.value.label=TRUE, to.data.frame=TRUE)

1. Lọc các biến quan sát (items)

d1 <-  d %>% select(-c("STT",  "FAM", "Formation",
                       "Work",  "Year",
                       "BI1",     "BIRecode", "BI4"))

2. Tìm hiểu hàm fa()

?fa
## No documentation for 'fa' in specified packages and libraries:
## you could try '??fa'

3. Gói lavaan và hàm cfa

Chi tiết về gói tại: https://cran.r-project.org/web/packages/lavaan/index.html

Tìm hiểu hàm cfa để ước lượng mô hình phân tích nhân tố khẳng định

? cfa
## starting httpd help server ... done

4. Kiểm tra mô hình và định nghĩa biến, các hàm cơ bản xem thống kê kết quả ước lượng và độ phù hợp của mô hình

cfa.model1 <- ' BEINTEN =~ BI2 + BI3 + BI5 + BI6 
              RELA =~  REL1 + REL2 +  REL4
              
#  Covariance
BI2 ~~ BI3
REL1 ~~ REL4 '
cfa.d1 <- cfa(cfa.model1, data = d1)
summary(cfa.d1, fit.measures = TRUE)
## lavaan 0.6-8 ended normally after 37 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        17
##                                                       
##   Number of observations                           826
##                                                       
## Model Test User Model:
##                                                       
##   Test statistic                                33.258
##   Degrees of freedom                                11
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                              2068.806
##   Degrees of freedom                                21
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.989
##   Tucker-Lewis Index (TLI)                       0.979
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -9177.960
##   Loglikelihood unrestricted model (H1)      -9161.331
##                                                       
##   Akaike (AIC)                               18389.920
##   Bayesian (BIC)                             18470.102
##   Sample-size adjusted Bayesian (BIC)        18416.116
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.049
##   90 Percent confidence interval - lower         0.031
##   90 Percent confidence interval - upper         0.069
##   P-value RMSEA <= 0.05                          0.482
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.024
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   BEINTEN =~                                          
##     BI2               1.000                           
##     BI3               1.054    0.064   16.361    0.000
##     BI5               1.311    0.081   16.089    0.000
##     BI6               1.348    0.086   15.656    0.000
##   RELA =~                                             
##     REL1              1.000                           
##     REL2              0.863    0.047   18.358    0.000
##     REL4              0.582    0.041   14.305    0.000
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##  .BI2 ~~                                              
##    .BI3               0.252    0.046    5.457    0.000
##  .REL1 ~~                                             
##    .REL4             -0.273    0.064   -4.233    0.000
##   BEINTEN ~~                                          
##     RELA              0.746    0.064   11.690    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .BI2               0.930    0.055   16.779    0.000
##    .BI3               1.141    0.067   17.071    0.000
##    .BI5               0.704    0.055   12.828    0.000
##    .BI6               0.998    0.068   14.720    0.000
##    .REL1              0.473    0.093    5.098    0.000
##    .REL2              0.987    0.080   12.346    0.000
##    .REL4              1.304    0.083   15.770    0.000
##     BEINTEN           0.623    0.069    9.065    0.000
##     RELA              1.944    0.147   13.210    0.000

5. Sau quá trình phân tích nhân tố khám phá EFA, mô hình đầu tiên của CFA chưa có điều chỉnh có dạng

#=================================================================
#2.================Quy trinh cuoi EFA=============================
#=================================================================


cfa.model2 <- ' BEINTEN =~  BI2 + BI3 + BI5 + BI6 
              RELA =~ REL1 + REL2 + REL3+ REL4
              EDUC =~ EDU1 + EDU2 + EDU3 + EDU4 + EDU5 + EDU6 + EDU7 + EDU8
              GOVE =~ GOV1 + GOV2 + GOV3 + GOV4 + GOV5
              ENDO =~  END1 + END2 + END3 + END4 + END5 ' #No END1 in the Trang (2020)

cfa.d2 <- cfa(cfa.model2, data = d1)

summary(cfa.d2, fit.measures = TRUE)
## lavaan 0.6-8 ended normally after 41 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        62
##                                                       
##   Number of observations                           826
##                                                       
## Model Test User Model:
##                                                       
##   Test statistic                              1483.744
##   Degrees of freedom                               289
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                             11390.969
##   Degrees of freedom                               325
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.892
##   Tucker-Lewis Index (TLI)                       0.879
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -30645.787
##   Loglikelihood unrestricted model (H1)     -29903.915
##                                                       
##   Akaike (AIC)                               61415.574
##   Bayesian (BIC)                             61708.003
##   Sample-size adjusted Bayesian (BIC)        61511.113
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.071
##   90 Percent confidence interval - lower         0.067
##   90 Percent confidence interval - upper         0.074
##   P-value RMSEA <= 0.05                          0.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.059
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   BEINTEN =~                                          
##     BI2               1.000                           
##     BI3               1.067    0.066   16.175    0.000
##     BI5               1.199    0.067   17.822    0.000
##     BI6               1.196    0.072   16.693    0.000
##   RELA =~                                             
##     REL1              1.000                           
##     REL2              1.036    0.046   22.370    0.000
##     REL3              0.842    0.042   20.276    0.000
##     REL4              0.719    0.042   17.221    0.000
##   EDUC =~                                             
##     EDU1              1.000                           
##     EDU2              1.013    0.047   21.351    0.000
##     EDU3              1.072    0.049   21.889    0.000
##     EDU4              1.093    0.051   21.231    0.000
##     EDU5              0.979    0.046   21.242    0.000
##     EDU6              0.964    0.053   18.246    0.000
##     EDU7              1.001    0.047   21.282    0.000
##     EDU8              0.860    0.045   19.124    0.000
##   GOVE =~                                             
##     GOV1              1.000                           
##     GOV2              1.101    0.053   20.609    0.000
##     GOV3              1.118    0.054   20.891    0.000
##     GOV4              1.054    0.054   19.600    0.000
##     GOV5              0.897    0.053   17.054    0.000
##   ENDO =~                                             
##     END1              1.000                           
##     END2              1.435    0.087   16.586    0.000
##     END3              1.442    0.084   17.102    0.000
##     END4              1.218    0.079   15.401    0.000
##     END5              1.369    0.093   14.718    0.000
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   BEINTEN ~~                                          
##     RELA              0.687    0.059   11.558    0.000
##     EDUC              0.309    0.038    8.128    0.000
##     GOVE              0.264    0.034    7.811    0.000
##     ENDO             -0.015    0.024   -0.647    0.517
##   RELA ~~                                             
##     EDUC              0.536    0.055    9.779    0.000
##     GOVE              0.411    0.047    8.695    0.000
##     ENDO              0.019    0.033    0.585    0.558
##   EDUC ~~                                             
##     GOVE              0.448    0.041   10.837    0.000
##     ENDO              0.175    0.028    6.326    0.000
##   GOVE ~~                                             
##     ENDO              0.146    0.025    5.957    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .BI2               0.830    0.050   16.462    0.000
##    .BI3               1.011    0.060   16.722    0.000
##    .BI5               0.736    0.052   14.040    0.000
##    .BI6               1.095    0.068   16.128    0.000
##    .REL1              0.945    0.064   14.735    0.000
##    .REL2              0.854    0.062   13.705    0.000
##    .REL3              0.938    0.057   16.373    0.000
##    .REL4              1.203    0.066   18.114    0.000
##    .EDU1              0.932    0.050   18.660    0.000
##    .EDU2              0.553    0.032   17.435    0.000
##    .EDU3              0.535    0.032   16.974    0.000
##    .EDU4              0.665    0.038   17.526    0.000
##    .EDU5              0.532    0.030   17.517    0.000
##    .EDU6              1.019    0.054   18.910    0.000
##    .EDU7              0.551    0.031   17.488    0.000
##    .EDU8              0.675    0.036   18.621    0.000
##    .GOV1              0.774    0.043   17.946    0.000
##    .GOV2              0.426    0.028   14.996    0.000
##    .GOV3              0.395    0.027   14.402    0.000
##    .GOV4              0.538    0.033   16.486    0.000
##    .GOV5              0.735    0.040   18.315    0.000
##    .END1              0.794    0.043   18.408    0.000
##    .END2              0.594    0.040   14.847    0.000
##    .END3              0.422    0.033   12.649    0.000
##    .END4              0.715    0.042   17.125    0.000
##    .END5              1.145    0.064   17.819    0.000
##     BEINTEN           0.723    0.071   10.180    0.000
##     RELA              1.472    0.118   12.469    0.000
##     EDUC              0.899    0.080   11.230    0.000
##     GOVE              0.691    0.064   10.720    0.000
##     ENDO              0.445    0.050    8.859    0.000
fitted(cfa.d2)
## $cov
##      BI2    BI3    BI5    BI6    REL1   REL2   REL3   REL4   EDU1   EDU2  
## BI2   1.553                                                               
## BI3   0.771  1.833                                                        
## BI5   0.867  0.925  1.775                                                 
## BI6   0.865  0.923  1.037  2.130                                          
## REL1  0.687  0.733  0.823  0.822  2.417                                   
## REL2  0.712  0.759  0.853  0.851  1.525  2.434                            
## REL3  0.578  0.617  0.693  0.692  1.239  1.284  1.981                     
## REL4  0.494  0.527  0.592  0.590  1.058  1.096  0.891  1.963              
## EDU1  0.309  0.330  0.370  0.370  0.536  0.555  0.451  0.385  1.831       
## EDU2  0.313  0.334  0.375  0.374  0.543  0.562  0.457  0.390  0.910  1.475
## EDU3  0.331  0.353  0.397  0.396  0.575  0.595  0.484  0.413  0.964  0.976
## EDU4  0.338  0.360  0.405  0.404  0.586  0.607  0.493  0.421  0.982  0.995
## EDU5  0.303  0.323  0.363  0.362  0.525  0.544  0.442  0.377  0.880  0.892
## EDU6  0.298  0.318  0.357  0.356  0.517  0.535  0.435  0.371  0.867  0.878
## EDU7  0.310  0.330  0.371  0.370  0.537  0.556  0.452  0.386  0.900  0.912
## EDU8  0.266  0.284  0.319  0.318  0.461  0.478  0.388  0.331  0.773  0.783
## GOV1  0.264  0.282  0.317  0.316  0.411  0.426  0.346  0.296  0.448  0.454
## GOV2  0.291  0.310  0.349  0.348  0.453  0.469  0.381  0.326  0.493  0.500
## GOV3  0.295  0.315  0.354  0.353  0.460  0.477  0.387  0.331  0.501  0.507
## GOV4  0.278  0.297  0.334  0.333  0.433  0.449  0.365  0.311  0.472  0.478
## GOV5  0.237  0.253  0.284  0.283  0.369  0.382  0.311  0.265  0.402  0.407
## END1 -0.015 -0.016 -0.019 -0.018  0.019  0.020  0.016  0.014  0.175  0.177
## END2 -0.022 -0.024 -0.027 -0.027  0.028  0.029  0.024  0.020  0.251  0.254
## END3 -0.022 -0.024 -0.027 -0.027  0.028  0.029  0.024  0.020  0.252  0.255
## END4 -0.019 -0.020 -0.023 -0.022  0.024  0.025  0.020  0.017  0.213  0.216
## END5 -0.021 -0.023 -0.025 -0.025  0.027  0.028  0.022  0.019  0.239  0.243
##      EDU3   EDU4   EDU5   EDU6   EDU7   EDU8   GOV1   GOV2   GOV3   GOV4  
## BI2                                                                       
## BI3                                                                       
## BI5                                                                       
## BI6                                                                       
## REL1                                                                      
## REL2                                                                      
## REL3                                                                      
## REL4                                                                      
## EDU1                                                                      
## EDU2                                                                      
## EDU3  1.568                                                               
## EDU4  1.053  1.738                                                        
## EDU5  0.944  0.962  1.395                                                 
## EDU6  0.929  0.947  0.849  1.855                                          
## EDU7  0.965  0.984  0.882  0.868  1.452                                   
## EDU8  0.829  0.845  0.757  0.746  0.774  1.340                            
## GOV1  0.480  0.490  0.439  0.432  0.449  0.385  1.464                     
## GOV2  0.529  0.539  0.483  0.476  0.494  0.424  0.761  1.264              
## GOV3  0.537  0.547  0.491  0.483  0.502  0.431  0.772  0.851  1.259       
## GOV4  0.506  0.516  0.462  0.455  0.473  0.406  0.728  0.802  0.814  1.305
## GOV5  0.431  0.439  0.394  0.387  0.402  0.346  0.620  0.682  0.693  0.653
## END1  0.188  0.191  0.171  0.169  0.175  0.151  0.146  0.161  0.163  0.154
## END2  0.269  0.274  0.246  0.242  0.251  0.216  0.210  0.231  0.234  0.221
## END3  0.270  0.276  0.247  0.243  0.253  0.217  0.211  0.232  0.236  0.222
## END4  0.228  0.233  0.209  0.205  0.213  0.183  0.178  0.196  0.199  0.187
## END5  0.257  0.262  0.235  0.231  0.240  0.206  0.200  0.220  0.224  0.211
##      GOV5   END1   END2   END3   END4   END5  
## BI2                                           
## BI3                                           
## BI5                                           
## BI6                                           
## REL1                                          
## REL2                                          
## REL3                                          
## REL4                                          
## EDU1                                          
## EDU2                                          
## EDU3                                          
## EDU4                                          
## EDU5                                          
## EDU6                                          
## EDU7                                          
## EDU8                                          
## GOV1                                          
## GOV2                                          
## GOV3                                          
## GOV4                                          
## GOV5  1.291                                   
## END1  0.131  1.239                            
## END2  0.188  0.639  1.511                     
## END3  0.189  0.642  0.921  1.348              
## END4  0.160  0.542  0.778  0.782  1.376       
## END5  0.179  0.610  0.875  0.879  0.742  1.979
coef(cfa.d2)
##     BEINTEN=~BI3     BEINTEN=~BI5     BEINTEN=~BI6       RELA=~REL2 
##            1.067            1.199            1.196            1.036 
##       RELA=~REL3       RELA=~REL4       EDUC=~EDU2       EDUC=~EDU3 
##            0.842            0.719            1.013            1.072 
##       EDUC=~EDU4       EDUC=~EDU5       EDUC=~EDU6       EDUC=~EDU7 
##            1.093            0.979            0.964            1.001 
##       EDUC=~EDU8       GOVE=~GOV2       GOVE=~GOV3       GOVE=~GOV4 
##            0.860            1.101            1.118            1.054 
##       GOVE=~GOV5       ENDO=~END2       ENDO=~END3       ENDO=~END4 
##            0.897            1.435            1.442            1.218 
##       ENDO=~END5         BI2~~BI2         BI3~~BI3         BI5~~BI5 
##            1.369            0.830            1.011            0.736 
##         BI6~~BI6       REL1~~REL1       REL2~~REL2       REL3~~REL3 
##            1.095            0.945            0.854            0.938 
##       REL4~~REL4       EDU1~~EDU1       EDU2~~EDU2       EDU3~~EDU3 
##            1.203            0.932            0.553            0.535 
##       EDU4~~EDU4       EDU5~~EDU5       EDU6~~EDU6       EDU7~~EDU7 
##            0.665            0.532            1.019            0.551 
##       EDU8~~EDU8       GOV1~~GOV1       GOV2~~GOV2       GOV3~~GOV3 
##            0.675            0.774            0.426            0.395 
##       GOV4~~GOV4       GOV5~~GOV5       END1~~END1       END2~~END2 
##            0.538            0.735            0.794            0.594 
##       END3~~END3       END4~~END4       END5~~END5 BEINTEN~~BEINTEN 
##            0.422            0.715            1.145            0.723 
##       RELA~~RELA       EDUC~~EDUC       GOVE~~GOVE       ENDO~~ENDO 
##            1.472            0.899            0.691            0.445 
##    BEINTEN~~RELA    BEINTEN~~EDUC    BEINTEN~~GOVE    BEINTEN~~ENDO 
##            0.687            0.309            0.264           -0.015 
##       RELA~~EDUC       RELA~~GOVE       RELA~~ENDO       EDUC~~GOVE 
##            0.536            0.411            0.019            0.448 
##       EDUC~~ENDO       GOVE~~ENDO 
##            0.175            0.146
fitMeasures(cfa.d2, fit.measures = "all")
##                npar                fmin               chisq                  df 
##              62.000               0.898            1483.744             289.000 
##              pvalue      baseline.chisq         baseline.df     baseline.pvalue 
##               0.000           11390.969             325.000               0.000 
##                 cfi                 tli                nnfi                 rfi 
##               0.892               0.879               0.879               0.854 
##                 nfi                pnfi                 ifi                 rni 
##               0.870               0.773               0.892               0.892 
##                logl   unrestricted.logl                 aic                 bic 
##          -30645.787          -29903.915           61415.574           61708.003 
##              ntotal                bic2               rmsea      rmsea.ci.lower 
##             826.000           61511.113               0.071               0.067 
##      rmsea.ci.upper        rmsea.pvalue                 rmr          rmr_nomean 
##               0.074               0.000               0.096               0.096 
##                srmr        srmr_bentler srmr_bentler_nomean                crmr 
##               0.059               0.059               0.059               0.061 
##         crmr_nomean          srmr_mplus   srmr_mplus_nomean               cn_05 
##               0.061               0.059               0.059             184.515 
##               cn_01                 gfi                agfi                pgfi 
##             194.649               0.865               0.836               0.712 
##                 mfi                ecvi 
##               0.485               1.946
fitMeasures(cfa.d2, c("chisq", "df", "pvalue", "gfi","cfi","tli", "rmsea"))
##    chisq       df   pvalue      gfi      cfi      tli    rmsea 
## 1483.744  289.000    0.000    0.865    0.892    0.879    0.071
fitMeasures(cfa.d2, c("chisq")) / fitMeasures(cfa.d2, c("df"))
## chisq 
## 5.134

Mô hình trên cần các điều chỉnh để tăng sự phù hợp, mời các bạn theo dõi video tiếp theo. Trân trọng