library(foreign)
spss<-read.spss("D:/CFA/MyDATAZACH.sav", to.data.frame=TRUE)
## re-encoding from CP950
## Warning in read.spss("D:/CFA/MyDATAZACH.sav", to.data.frame = TRUE): Undeclared
## level(s) 3 added in variable: Gender
dim(spss)
## [1] 870 153
names(spss)
##   [1] "ID"       "School"   "grade"    "Class"    "Number"   "Gender"  
##   [7] "EN1T1"    "EN2T1"    "EN3T1"    "EN4T1"    "EN5T1"    "FR1T1"   
##  [13] "FR2T1"    "FR3T1"    "SE1T1"    "SE2T1"    "SE3T1"    "SE4T1"   
##  [19] "SE5T1"    "ENR1T1"   "ENR2T1"   "ENR3T1"   "ENR4T1"   "FRR1T1"  
##  [25] "FRR2T1"   "FRR3T1"   "FRR4T1"   "BO1T1"    "BO2T1"    "BO3T1"   
##  [31] "BO4T1"    "CB1T1"    "CB2T1"    "CB3T1"    "AC1T1"    "AC2T1"   
##  [37] "AC3T1"    "AC4T1"    "AC5T1"    "AC6T1"    "AC7T1"    "AC8T1"   
##  [43] "AC9T1"    "PC1T1"    "PC2T1"    "PC3T1"    "PC4T1"    "ACHT1"   
##  [49] "EN1T2"    "EN2T2"    "EN3T2"    "EN4T2"    "EN5T2"    "FR1T2"   
##  [55] "FR2T2"    "FR3T2"    "SE1T2"    "SE2T2"    "SE3T2"    "SE4T2"   
##  [61] "SE5T2"    "ENR1T2"   "ENR2T2"   "ENR3T2"   "ENR4T2"   "FRR1T2"  
##  [67] "FRR2T2"   "FRR3T2"   "FRR4T2"   "BO1T2"    "BO2T2"    "BO3T2"   
##  [73] "BO4T2"    "CB1T2"    "CB2T2"    "CB3T2"    "AC1T2"    "AC2T2"   
##  [79] "AC3T2"    "AC4T2"    "AC5T2"    "AC6T2"    "AC7T2"    "AC8T2"   
##  [85] "AC9T2"    "PC1T2"    "PC2T2"    "PC3T2"    "PC4T2"    "ACHT2"   
##  [91] "EN1T3"    "EN2T3"    "EN3T3"    "EN4T3"    "EN5T3"    "FR1T3"   
##  [97] "FR2T3"    "FR3T3"    "SE1T3"    "SE2T3"    "SE3T3"    "SE4T3"   
## [103] "SE5T3"    "ENR1T3"   "ENR2T3"   "ENR3T3"   "ENR4T3"   "FRR1T3"  
## [109] "FRR2T3"   "FRR3T3"   "FRR4T3"   "BO1T3"    "BO2T3"    "BO3T3"   
## [115] "BO4T3"    "CB1T3"    "CB2T3"    "CB3T3"    "AC1T3"    "AC2T3"   
## [121] "AC3T3"    "AC4T3"    "AC5T3"    "AC6T3"    "AC7T3"    "AC8T3"   
## [127] "AC9T3"    "PC1T3"    "PC2T3"    "PC3T3"    "PC4T3"    "ACHT3"   
## [133] "filter_." "ZACHT1"   "ZACHT2"   "ZACHT3"   "ZZACHT1"  "ZZACHT2" 
## [139] "ZZACHT3"  "ZEN1T1"   "ZEN2T1"   "ZEN3T1"   "ZEN4T1"   "ZEN5T1"  
## [145] "MAC1T1"   "MAC2T1"   "MAC3T1"   "MAC1T2"   "MAC2T2"   "MAC3T2"  
## [151] "MAC1T3"   "MAC2T3"   "MAC3T3"
library(lavaan)
## This is lavaan 0.6-18
## lavaan is FREE software! Please report any bugs.
Lvmodel <- ' enjoy =~ EN1T1 + EN2T1 + EN3T1 + EN4T1 + EN5T1 '

modelfit <- cfa(Lvmodel, data = spss)
summary(modelfit, fit.measure = TRUE)
## lavaan 0.6-18 ended normally after 21 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        10
## 
##   Number of observations                           870
## 
## Model Test User Model:
##                                                       
##   Test statistic                               352.472
##   Degrees of freedom                                 5
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                              3539.065
##   Degrees of freedom                                10
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.902
##   Tucker-Lewis Index (TLI)                       0.803
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -6041.403
##   Loglikelihood unrestricted model (H1)      -5865.167
##                                                       
##   Akaike (AIC)                               12102.806
##   Bayesian (BIC)                             12150.491
##   Sample-size adjusted Bayesian (SABIC)      12118.733
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.283
##   90 Percent confidence interval - lower         0.258
##   90 Percent confidence interval - upper         0.308
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    1.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.072
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   enjoy =~                                            
##     EN1T1             1.000                           
##     EN2T1             1.062    0.024   44.708    0.000
##     EN3T1             0.893    0.024   37.478    0.000
##     EN4T1             0.935    0.032   29.088    0.000
##     EN5T1             0.877    0.039   22.481    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1T1             0.287    0.021   13.766    0.000
##    .EN2T1             0.261    0.021   12.205    0.000
##    .EN3T1             0.404    0.024   17.001    0.000
##    .EN4T1             0.930    0.049   19.070    0.000
##    .EN5T1             1.540    0.077   19.917    0.000
##     enjoy             1.434    0.083   17.305    0.000
Lvmodel2 <- ' Frustration =~ FR1T1 + FR2T1 + FR3T1 '

modelfit2 <- cfa(Lvmodel2, data = spss)
summary(modelfit2, fit.measure = TRUE)
## lavaan 0.6-18 ended normally after 23 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         6
## 
##   Number of observations                           870
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 0.000
##   Degrees of freedom                                 0
## 
## Model Test Baseline Model:
## 
##   Test statistic                               845.429
##   Degrees of freedom                                 3
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    1.000
##   Tucker-Lewis Index (TLI)                       1.000
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -4357.260
##   Loglikelihood unrestricted model (H1)      -4357.260
##                                                       
##   Akaike (AIC)                                8726.520
##   Bayesian (BIC)                              8755.131
##   Sample-size adjusted Bayesian (SABIC)       8736.076
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.000
##   90 Percent confidence interval - lower         0.000
##   90 Percent confidence interval - upper         0.000
##   P-value H_0: RMSEA <= 0.050                       NA
##   P-value H_0: RMSEA >= 0.080                       NA
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.000
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   Frustration =~                                      
##     FR1T1             1.000                           
##     FR2T1             1.073    0.062   17.285    0.000
##     FR3T1             0.776    0.049   15.947    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .FR1T1             1.006    0.084   12.029    0.000
##    .FR2T1             0.344    0.080    4.275    0.000
##    .FR3T1             1.737    0.093   18.698    0.000
##     Frustration       1.382    0.124   11.119    0.000
Lvmodel4 <- ' frustrationregular =~ FRR1T1 + FRR2T1 + FRR3T1 + FRR4T1 '

modelfit4 <- cfa(Lvmodel4, data = spss)
summary(modelfit4, fit.measure = TRUE)
## lavaan 0.6-18 ended normally after 25 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         8
## 
##   Number of observations                           870
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 8.105
##   Degrees of freedom                                 2
##   P-value (Chi-square)                           0.017
## 
## Model Test Baseline Model:
## 
##   Test statistic                              1390.039
##   Degrees of freedom                                 6
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.996
##   Tucker-Lewis Index (TLI)                       0.987
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -5358.255
##   Loglikelihood unrestricted model (H1)      -5354.203
##                                                       
##   Akaike (AIC)                               10732.510
##   Bayesian (BIC)                             10770.658
##   Sample-size adjusted Bayesian (SABIC)      10745.252
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.059
##   90 Percent confidence interval - lower         0.021
##   90 Percent confidence interval - upper         0.104
##   P-value H_0: RMSEA <= 0.050                    0.291
##   P-value H_0: RMSEA >= 0.080                    0.256
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.020
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                         Estimate  Std.Err  z-value  P(>|z|)
##   frustrationregular =~                                    
##     FRR1T1                 1.000                           
##     FRR2T1                 0.997    0.035   28.444    0.000
##     FRR3T1                 0.754    0.035   21.263    0.000
##     FRR4T1                 0.328    0.043    7.617    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .FRR1T1            0.369    0.043    8.624    0.000
##    .FRR2T1            0.329    0.042    7.874    0.000
##    .FRR3T1            1.072    0.056   19.033    0.000
##    .FRR4T1            2.014    0.097   20.680    0.000
##     frustratinrglr    1.431    0.093   15.381    0.000
Lvmodel5 <- ' AC =~ AC1T1 + AC2T1 + AC3T1 + AC4T1 + AC5T1+ AC6T1+ AC7T1+ AC8T1 + AC9T1 '

modelfit5 <- cfa(Lvmodel5, data = spss)
summary(modelfit5, fit.measure = TRUE)
## lavaan 0.6-18 ended normally after 24 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        18
## 
##   Number of observations                           870
## 
## Model Test User Model:
##                                                       
##   Test statistic                               492.431
##   Degrees of freedom                                27
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                              3573.480
##   Degrees of freedom                                36
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.868
##   Tucker-Lewis Index (TLI)                       0.825
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -12602.613
##   Loglikelihood unrestricted model (H1)     -12356.398
##                                                       
##   Akaike (AIC)                               25241.226
##   Bayesian (BIC)                             25327.059
##   Sample-size adjusted Bayesian (SABIC)      25269.896
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.141
##   90 Percent confidence interval - lower         0.130
##   90 Percent confidence interval - upper         0.152
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    1.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.064
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   AC =~                                               
##     AC1T1             1.000                           
##     AC2T1             0.842    0.047   17.804    0.000
##     AC3T1             0.593    0.036   16.379    0.000
##     AC4T1             1.054    0.042   25.169    0.000
##     AC5T1             1.019    0.046   22.233    0.000
##     AC6T1             0.722    0.041   17.721    0.000
##     AC7T1             0.882    0.046   19.325    0.000
##     AC8T1             0.691    0.042   16.629    0.000
##     AC9T1             1.000    0.044   22.519    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1T1             0.870    0.051   17.154    0.000
##    .AC2T1             1.641    0.084   19.479    0.000
##    .AC3T1             1.024    0.052   19.762    0.000
##    .AC4T1             0.734    0.046   15.976    0.000
##    .AC5T1             1.180    0.065   18.029    0.000
##    .AC6T1             1.225    0.063   19.497    0.000
##    .AC7T1             1.417    0.074   19.100    0.000
##    .AC8T1             1.337    0.068   19.716    0.000
##    .AC9T1             1.081    0.060   17.887    0.000
##     AC                1.328    0.101   13.149    0.000
install.packages("lavaan")
## Warning: 正在使用 'lavaan' 這個程式套件,因此不會被安裝
library(lavaan)
library(lavaan)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
# 定義測量模型
model <- '
  enjoy1 =~ EN1T1 + EN2T1 + EN3T1 + EN4T1 + EN5T1
  enjoy2 =~ EN1T2 + EN2T2 + EN3T2 + EN4T2 + EN5T2
  enjoy3 =~ EN1T3 + EN2T3 + EN3T3 + EN4T3 + EN5T3
'


spss_long <- spss %>%
  pivot_longer(cols = starts_with("EN"), names_to = c("Variable", "TimePoint"), names_sep = "T") %>%
  mutate(TimePoint = paste0("T", TimePoint)) %>%
  pivot_wider(names_from = Variable, values_from = value)

# 查看新数据框
str(spss_long)
## tibble [2,610 × 136] (S3: tbl_df/tbl/data.frame)
##  $ ID       : num [1:2610] 120201 120201 120201 120202 120202 ...
##  $ School   : Factor w/ 11 levels "興華","嘉義",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ grade    : num [1:2610] 2 2 2 2 2 2 2 2 2 2 ...
##  $ Class    : num [1:2610] 2 2 2 2 2 2 2 2 2 2 ...
##  $ Number   : num [1:2610] 1 1 1 2 2 2 3 3 3 4 ...
##  $ Gender   : Factor w/ 3 levels "female","male",..: 2 2 2 2 2 2 2 2 2 2 ...
##  $ FR1T1    : num [1:2610] 2 2 2 5 5 5 2 2 2 4 ...
##  $ FR2T1    : num [1:2610] 1 1 1 2 2 2 2 2 2 3 ...
##  $ FR3T1    : num [1:2610] 4 4 4 6 6 6 3 3 3 3 ...
##  $ SE1T1    : num [1:2610] 3 3 3 3 3 3 5 5 5 2 ...
##  $ SE2T1    : num [1:2610] 1 1 1 6 6 6 5 5 5 1 ...
##  $ SE3T1    : num [1:2610] 3 3 3 5 5 5 4 4 4 4 ...
##  $ SE4T1    : num [1:2610] 3 3 3 4 4 4 2 2 2 4 ...
##  $ SE5T1    : num [1:2610] 3 3 3 4 4 4 2 2 2 3 ...
##  $ FRR1T1   : num [1:2610] 3 3 3 6 6 6 5 5 5 3 ...
##  $ FRR2T1   : num [1:2610] 4 4 4 4 4 4 5 5 5 3 ...
##  $ FRR3T1   : num [1:2610] 3 3 3 6 6 6 5 5 5 3 ...
##  $ FRR4T1   : num [1:2610] 3 3 3 6 6 6 6 6 6 3 ...
##  $ BO1T1    : num [1:2610] 1 1 1 3 3 3 2 2 2 3 ...
##  $ BO2T1    : num [1:2610] 1 1 1 3 3 3 2 2 2 3 ...
##  $ BO3T1    : num [1:2610] 1 1 1 3 3 3 2 2 2 4 ...
##  $ BO4T1    : num [1:2610] 1 1 1 3 3 3 2 2 2 5 ...
##  $ CB1T1    : num [1:2610] 1 1 1 1 1 1 2 2 2 1 ...
##  $ CB2T1    : num [1:2610] 1 1 1 3 3 3 2 2 2 4 ...
##  $ CB3T1    : num [1:2610] 1 1 1 5 5 5 3 3 3 3 ...
##  $ AC1T1    : num [1:2610] 3 3 3 4 4 4 4 4 4 4 ...
##  $ AC2T1    : num [1:2610] 4 4 4 6 6 6 5 5 5 4 ...
##  $ AC3T1    : num [1:2610] 1 1 1 1 1 1 1 1 1 5 ...
##  $ AC4T1    : num [1:2610] 2 2 2 4 4 4 4 4 4 5 ...
##  $ AC5T1    : num [1:2610] 1 1 1 5 5 5 5 5 5 4 ...
##  $ AC6T1    : num [1:2610] 1 1 1 3 3 3 4 4 4 1 ...
##  $ AC7T1    : num [1:2610] 1 1 1 5 5 5 4 4 4 3 ...
##  $ AC8T1    : num [1:2610] 1 1 1 1 1 1 3 3 3 1 ...
##  $ AC9T1    : num [1:2610] 1 1 1 1 1 1 4 4 4 2 ...
##  $ PC1T1    : num [1:2610] 1 1 1 4 4 4 3 3 3 4 ...
##  $ PC2T1    : num [1:2610] 1 1 1 4 4 4 4 4 4 3 ...
##  $ PC3T1    : num [1:2610] 1 1 1 3 3 3 4 4 4 4 ...
##  $ PC4T1    : num [1:2610] 1 1 1 3 3 3 4 4 4 5 ...
##  $ ACHT1    : num [1:2610] 83 83 83 64 64 64 72 72 72 21 ...
##  $ FR1T2    : num [1:2610] 1 1 1 1 1 1 1 1 1 4 ...
##  $ FR2T2    : num [1:2610] 1 1 1 1 1 1 2 2 2 3 ...
##  $ FR3T2    : num [1:2610] 3 3 3 6 6 6 1 1 1 1 ...
##  $ SE1T2    : num [1:2610] 1 1 1 1 1 1 5 5 5 3 ...
##  $ SE2T2    : num [1:2610] 1 1 1 6 6 6 6 6 6 1 ...
##  $ SE3T2    : num [1:2610] 3 3 3 3 3 3 5 5 5 5 ...
##  $ SE4T2    : num [1:2610] 4 4 4 4 4 4 3 3 3 6 ...
##  $ SE5T2    : num [1:2610] 3 3 3 3 3 3 3 3 3 5 ...
##  $ FRR1T2   : num [1:2610] 3 3 3 6 6 6 6 6 6 4 ...
##  $ FRR2T2   : num [1:2610] 4 4 4 6 6 6 6 6 6 4 ...
##  $ FRR3T2   : num [1:2610] 3 3 3 4 4 4 3 3 3 2 ...
##  $ FRR4T2   : num [1:2610] 5 5 5 4 4 4 5 5 5 4 ...
##  $ BO1T2    : num [1:2610] 1 1 1 1 1 1 3 3 3 5 ...
##  $ BO2T2    : num [1:2610] 1 1 1 1 1 1 3 3 3 4 ...
##  $ BO3T2    : num [1:2610] 1 1 1 1 1 1 3 3 3 6 ...
##  $ BO4T2    : num [1:2610] 1 1 1 1 1 1 2 2 2 5 ...
##  $ CB1T2    : num [1:2610] 1 1 1 2 2 2 1 1 1 1 ...
##  $ CB2T2    : num [1:2610] 1 1 1 2 2 2 1 1 1 4 ...
##  $ CB3T2    : num [1:2610] 1 1 1 1 1 1 4 4 4 4 ...
##  $ AC1T2    : num [1:2610] 2 2 2 3 3 3 4 4 4 4 ...
##  $ AC2T2    : num [1:2610] 2 2 2 3 3 3 5 5 5 4 ...
##  $ AC3T2    : num [1:2610] 1 1 1 3 3 3 1 1 1 1 ...
##  $ AC4T2    : num [1:2610] 2 2 2 2 2 2 1 1 1 4 ...
##  $ AC5T2    : num [1:2610] 2 2 2 2 2 2 3 3 3 4 ...
##  $ AC6T2    : num [1:2610] 2 2 2 1 1 1 3 3 3 1 ...
##  $ AC7T2    : num [1:2610] 1 1 1 4 4 4 4 4 4 4 ...
##  $ AC8T2    : num [1:2610] 1 1 1 1 1 1 3 3 3 1 ...
##  $ AC9T2    : num [1:2610] 2 2 2 1 1 1 4 4 4 4 ...
##  $ PC1T2    : num [1:2610] 1 1 1 2 2 2 4 4 4 4 ...
##  $ PC2T2    : num [1:2610] 1 1 1 2 2 2 4 4 4 4 ...
##  $ PC3T2    : num [1:2610] 1 1 1 2 2 2 4 4 4 4 ...
##  $ PC4T2    : num [1:2610] 1 1 1 2 2 2 4 4 4 4 ...
##  $ ACHT2    : num [1:2610] 88 88 88 78 78 78 73 73 73 25 ...
##  $ FR1T3    : num [1:2610] 3 3 3 3 3 3 1 1 1 4 ...
##  $ FR2T3    : num [1:2610] 3 3 3 1 1 1 1 1 1 4 ...
##  $ FR3T3    : num [1:2610] 3 3 3 6 6 6 1 1 1 4 ...
##  $ SE1T3    : num [1:2610] 3 3 3 4 4 4 4 4 4 5 ...
##  $ SE2T3    : num [1:2610] 3 3 3 2 2 2 5 5 5 6 ...
##  $ SE3T3    : num [1:2610] 4 4 4 5 5 5 3 3 3 5 ...
##  $ SE4T3    : num [1:2610] 4 4 4 4 4 4 3 3 3 5 ...
##  $ SE5T3    : num [1:2610] 4 4 4 4 4 4 3 3 3 4 ...
##  $ FRR1T3   : num [1:2610] 3 3 3 6 6 6 5 5 5 4 ...
##  $ FRR2T3   : num [1:2610] 3 3 3 6 6 6 4 4 4 4 ...
##  $ FRR3T3   : num [1:2610] 4 4 4 4 4 4 5 5 5 3 ...
##  $ FRR4T3   : num [1:2610] 4 4 4 6 6 6 6 6 6 3 ...
##  $ BO1T3    : num [1:2610] 2 2 2 1 1 1 3 3 3 4 ...
##  $ BO2T3    : num [1:2610] 2 2 2 1 1 1 3 3 3 3 ...
##  $ BO3T3    : num [1:2610] 2 2 2 1 1 1 3 3 3 5 ...
##  $ BO4T3    : num [1:2610] 2 2 2 1 1 1 3 3 3 4 ...
##  $ CB1T3    : num [1:2610] 1 1 1 1 1 1 1 1 1 1 ...
##  $ CB2T3    : num [1:2610] 2 2 2 4 4 4 4 4 4 3 ...
##  $ CB3T3    : num [1:2610] 2 2 2 4 4 4 3 3 3 3 ...
##  $ AC1T3    : num [1:2610] 1 1 1 4 4 4 4 4 4 4 ...
##  $ AC2T3    : num [1:2610] 1 1 1 4 4 4 4 4 4 5 ...
##  $ AC3T3    : num [1:2610] 1 1 1 1 1 1 1 1 1 1 ...
##  $ AC4T3    : num [1:2610] 1 1 1 4 4 4 3 3 3 3 ...
##  $ AC5T3    : num [1:2610] 1 1 1 4 4 4 3 3 3 3 ...
##  $ AC6T3    : num [1:2610] 1 1 1 2 2 2 3 3 3 2 ...
##  $ AC7T3    : num [1:2610] 1 1 1 4 4 4 5 5 5 3 ...
##  $ AC8T3    : num [1:2610] 1 1 1 1 1 1 1 1 1 1 ...
##   [list output truncated]
summary(spss_long)
##        ID              School        grade           Class       
##  Min.   : 120201   嘉義   :438   Min.   :1.000   Min.   : 1.000  
##  1st Qu.: 220817   瑞豐   :375   1st Qu.:1.000   1st Qu.: 2.000  
##  Median : 530524   玉山   :357   Median :2.000   Median : 4.000  
##  Mean   : 548365   鳳甲   :270   Mean   :1.775   Mean   : 4.894  
##  3rd Qu.: 720511   民生   :258   3rd Qu.:2.000   3rd Qu.: 6.000  
##  Max.   :1120542   鳳山   :255   Max.   :3.000   Max.   :19.000  
##                    (Other):657                                   
##      Number         Gender         FR1T1           FR2T1           FR3T1      
##  Min.   : 1.00   female:1524   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.: 6.00   male  :1083   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000  
##  Median :13.00   3     :   3   Median :3.000   Median :3.000   Median :3.000  
##  Mean   :13.06                 Mean   :3.166   Mean   :2.834   Mean   :3.032  
##  3rd Qu.:19.00                 3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :42.00                 Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                               
##      SE1T1           SE2T1           SE3T1           SE4T1           SE5T1     
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.00  
##  1st Qu.:2.000   1st Qu.:4.000   1st Qu.:4.000   1st Qu.:3.000   1st Qu.:3.00  
##  Median :3.000   Median :5.000   Median :4.000   Median :4.000   Median :4.00  
##  Mean   :3.094   Mean   :4.709   Mean   :4.225   Mean   :3.503   Mean   :3.86  
##  3rd Qu.:4.000   3rd Qu.:6.000   3rd Qu.:5.000   3rd Qu.:4.000   3rd Qu.:5.00  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.00  
##                                                                                
##      FRR1T1          FRR2T1          FRR3T1          FRR4T1     
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000  
##  Median :4.000   Median :4.000   Median :4.000   Median :4.000  
##  Mean   :3.714   Mean   :3.738   Mean   :3.629   Mean   :3.787  
##  3rd Qu.:4.000   3rd Qu.:5.000   3rd Qu.:4.000   3rd Qu.:5.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      BO1T1           BO2T1           BO3T1           BO4T1      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000  
##  Median :3.000   Median :3.000   Median :3.000   Median :3.000  
##  Mean   :3.457   Mean   :3.431   Mean   :3.102   Mean   :3.231  
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      CB1T1           CB2T1           CB3T1           AC1T1      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:1.000   1st Qu.:1.000   1st Qu.:2.000   1st Qu.:2.000  
##  Median :1.000   Median :2.000   Median :3.000   Median :4.000  
##  Mean   :1.898   Mean   :2.326   Mean   :3.085   Mean   :3.457  
##  3rd Qu.:3.000   3rd Qu.:3.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      AC2T1           AC3T1           AC4T1          AC5T1           AC6T1      
##  Min.   :1.000   Min.   :1.000   Min.   :1.00   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:1.000   1st Qu.:2.00   1st Qu.:2.000   1st Qu.:1.000  
##  Median :3.000   Median :1.000   Median :3.00   Median :3.000   Median :2.000  
##  Mean   :3.331   Mean   :1.926   Mean   :3.09   Mean   :3.159   Mean   :2.187  
##  3rd Qu.:5.000   3rd Qu.:3.000   3rd Qu.:4.00   3rd Qu.:4.000   3rd Qu.:3.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.00   Max.   :6.000   Max.   :6.000  
##                                                                                
##      AC7T1           AC8T1           AC9T1           PC1T1      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:1.000   1st Qu.:2.000   1st Qu.:1.000  
##  Median :3.000   Median :2.000   Median :3.000   Median :2.000  
##  Mean   :3.051   Mean   :2.107   Mean   :3.259   Mean   :2.595  
##  3rd Qu.:4.000   3rd Qu.:3.000   3rd Qu.:4.000   3rd Qu.:3.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      PC2T1           PC3T1           PC4T1           ACHT1       
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :  0.00  
##  1st Qu.:1.000   1st Qu.:1.000   1st Qu.:1.000   1st Qu.: 38.00  
##  Median :2.000   Median :2.000   Median :2.000   Median : 63.00  
##  Mean   :2.684   Mean   :2.599   Mean   :2.683   Mean   : 58.25  
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.: 79.00  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :100.00  
##                                                                  
##      FR1T2           FR2T2          FR3T2          SE1T2           SE2T2      
##  Min.   :1.000   Min.   :1.00   Min.   :1.00   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:2.00   1st Qu.:2.00   1st Qu.:2.000   1st Qu.:4.000  
##  Median :3.000   Median :3.00   Median :3.00   Median :3.000   Median :5.000  
##  Mean   :3.271   Mean   :2.96   Mean   :3.14   Mean   :3.201   Mean   :4.586  
##  3rd Qu.:4.000   3rd Qu.:4.00   3rd Qu.:4.00   3rd Qu.:4.000   3rd Qu.:6.000  
##  Max.   :6.000   Max.   :6.00   Max.   :6.00   Max.   :6.000   Max.   :6.000  
##                                                                               
##      SE3T2          SE4T2           SE5T2           FRR1T2          FRR2T2     
##  Min.   :1.00   Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:4.00   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000  
##  Median :4.00   Median :4.000   Median :4.000   Median :4.000   Median :4.000  
##  Mean   :4.24   Mean   :3.644   Mean   :3.933   Mean   :3.785   Mean   :3.795  
##  3rd Qu.:5.00   3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000  
##  Max.   :6.00   Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                                
##      FRR3T2          FRR4T2          BO1T2           BO2T2         BO3T2      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.0   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:3.000   1st Qu.:2.000   1st Qu.:2.0   1st Qu.:2.000  
##  Median :4.000   Median :4.000   Median :3.000   Median :3.0   Median :3.000  
##  Mean   :3.686   Mean   :3.755   Mean   :3.487   Mean   :3.5   Mean   :3.149  
##  3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.0   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.0   Max.   :6.000  
##                                                                               
##      BO4T2           CB1T2           CB2T2           CB3T2      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:1.000   1st Qu.:1.000   1st Qu.:2.000  
##  Median :3.000   Median :1.000   Median :2.000   Median :3.000  
##  Mean   :3.263   Mean   :2.051   Mean   :2.609   Mean   :3.114  
##  3rd Qu.:4.000   3rd Qu.:3.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      AC1T2           AC2T2           AC3T2           AC4T2          AC5T2      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.00   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.:1.000   1st Qu.:2.00   1st Qu.:2.000  
##  Median :4.000   Median :4.000   Median :2.000   Median :3.00   Median :3.000  
##  Mean   :3.418   Mean   :3.421   Mean   :2.121   Mean   :3.18   Mean   :3.245  
##  3rd Qu.:4.000   3rd Qu.:5.000   3rd Qu.:3.000   3rd Qu.:4.00   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.00   Max.   :6.000  
##                                                                                
##      AC6T2           AC7T2           AC8T2           AC9T2      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:1.000   1st Qu.:2.000   1st Qu.:1.000   1st Qu.:2.000  
##  Median :2.000   Median :3.000   Median :2.000   Median :3.000  
##  Mean   :2.343   Mean   :3.126   Mean   :2.298   Mean   :3.292  
##  3rd Qu.:3.000   3rd Qu.:4.000   3rd Qu.:3.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      PC1T2           PC2T2          PC3T2           PC4T2      
##  Min.   :1.000   Min.   :1.00   Min.   :1.000   Min.   :1.000  
##  1st Qu.:1.000   1st Qu.:1.00   1st Qu.:1.000   1st Qu.:1.000  
##  Median :2.000   Median :3.00   Median :2.000   Median :3.000  
##  Mean   :2.701   Mean   :2.79   Mean   :2.682   Mean   :2.778  
##  3rd Qu.:4.000   3rd Qu.:4.00   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.00   Max.   :6.000   Max.   :6.000  
##                                                                
##      ACHT2            FR1T3           FR2T3           FR3T3      
##  Min.   :  0.00   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.: 35.00   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000  
##  Median : 58.00   Median :3.000   Median :3.000   Median :3.000  
##  Mean   : 56.59   Mean   :3.347   Mean   :3.064   Mean   :3.155  
##  3rd Qu.: 80.00   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :100.00   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                  
##      SE1T3           SE2T3           SE3T3          SE4T3           SE5T3      
##  Min.   :1.000   Min.   :1.000   Min.   :1.00   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:3.000   1st Qu.:3.00   1st Qu.:3.000   1st Qu.:3.000  
##  Median :3.000   Median :4.000   Median :4.00   Median :4.000   Median :4.000  
##  Mean   :3.271   Mean   :4.295   Mean   :4.14   Mean   :3.579   Mean   :3.809  
##  3rd Qu.:4.000   3rd Qu.:6.000   3rd Qu.:5.00   3rd Qu.:4.000   3rd Qu.:5.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.00   Max.   :6.000   Max.   :6.000  
##                                                                                
##      FRR1T3          FRR2T3          FRR3T3          FRR4T3     
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000  
##  Median :4.000   Median :4.000   Median :4.000   Median :4.000  
##  Mean   :3.751   Mean   :3.732   Mean   :3.645   Mean   :3.792  
##  3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:4.000   3rd Qu.:5.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      BO1T3           BO2T3           BO3T3           BO4T3      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000  
##  Median :3.000   Median :3.000   Median :3.000   Median :3.000  
##  Mean   :3.518   Mean   :3.483   Mean   :3.222   Mean   :3.345  
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      CB1T3           CB2T3           CB3T3           AC1T3           AC2T3     
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.00  
##  1st Qu.:1.000   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.00  
##  Median :2.000   Median :3.000   Median :3.000   Median :4.000   Median :4.00  
##  Mean   :2.295   Mean   :2.855   Mean   :3.176   Mean   :3.469   Mean   :3.48  
##  3rd Qu.:3.000   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:5.00  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.00  
##                                                                                
##      AC3T3           AC4T3          AC5T3           AC6T3           AC7T3      
##  Min.   :1.000   Min.   :1.00   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:1.000   1st Qu.:2.00   1st Qu.:2.000   1st Qu.:1.000   1st Qu.:2.000  
##  Median :2.000   Median :3.00   Median :3.000   Median :2.000   Median :3.000  
##  Mean   :2.341   Mean   :3.29   Mean   :3.317   Mean   :2.517   Mean   :3.293  
##  3rd Qu.:3.000   3rd Qu.:4.00   3rd Qu.:4.000   3rd Qu.:3.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.00   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                                
##      AC8T3           AC9T3           PC1T3           PC2T3      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:1.000   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000  
##  Median :2.000   Median :3.000   Median :3.000   Median :3.000  
##  Mean   :2.526   Mean   :3.333   Mean   :2.807   Mean   :2.908  
##  3rd Qu.:3.000   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      PC3T3           PC4T3           ACHT3                filter_.   
##  Min.   :1.000   Min.   :1.000   Min.   :  0.00   Not Selected:   0  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.: 38.00   Selected    :2610  
##  Median :3.000   Median :3.000   Median : 60.00                      
##  Mean   :2.782   Mean   :2.886   Mean   : 58.11                      
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.: 80.00                      
##  Max.   :6.000   Max.   :6.000   Max.   :100.00                      
##                                                                      
##      ZACHT1               ZACHT2              ZACHT3         
##  Min.   :-3.0131555   Min.   :-3.187241   Min.   :-3.013155  
##  1st Qu.:-0.6833303   1st Qu.:-0.661663   1st Qu.:-0.676073  
##  Median :-0.0100814   Median : 0.004321   Median : 0.004320  
##  Mean   :-0.0006499   Mean   :-0.001995   Mean   :-0.001895  
##  3rd Qu.: 0.6598713   3rd Qu.: 0.685150   3rd Qu.: 0.665252  
##  Max.   : 2.5187201   Max.   : 2.232721   Max.   : 2.268986  
##                                                              
##     ZZACHT1             ZZACHT2             ZZACHT3              ZEN1T1        
##  Min.   :-3.030778   Min.   :-3.215978   Min.   :-3.036674   Min.   :-1.23948  
##  1st Qu.:-0.686821   1st Qu.:-0.666033   1st Qu.:-0.679867   1st Qu.:-0.59499  
##  Median :-0.009489   Median : 0.006376   Median : 0.006268   Median :-0.01296  
##  Mean   : 0.000000   Mean   : 0.000000   Mean   : 0.000000   Mean   : 0.01476  
##  3rd Qu.: 0.664528   3rd Qu.: 0.693775   3rd Qu.: 0.672778   3rd Qu.: 0.78127  
##  Max.   : 2.534652   Max.   : 2.256276   Max.   : 2.290046   Max.   : 2.19917  
##                                                                                
##      ZEN2T1            ZEN3T1             ZEN4T1             ZEN5T1         
##  Min.   :-1.2875   Min.   :-1.14012   Min.   :-1.27763   Min.   :-1.367392  
##  1st Qu.:-0.6653   1st Qu.:-1.14012   1st Qu.:-0.64561   1st Qu.:-0.763799  
##  Median :-0.1329   Median : 0.20889   Median :-0.15034   Median : 0.179542  
##  Mean   : 0.0125   Mean   : 0.02014   Mean   : 0.01331   Mean   : 0.003013  
##  3rd Qu.: 0.6157   3rd Qu.: 0.20889   3rd Qu.: 0.48498   3rd Qu.: 0.758028  
##  Max.   : 2.0604   Max.   : 2.37553   Max.   : 1.90644   Max.   : 1.500124  
##                                                                             
##      MAC1T1          MAC2T1          MAC3T1          MAC1T2     
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000  
##  Median :3.000   Median :2.667   Median :2.667   Median :3.000  
##  Mean   :2.905   Mean   :2.812   Mean   :2.805   Mean   :2.987  
##  3rd Qu.:3.667   3rd Qu.:3.667   3rd Qu.:3.667   3rd Qu.:3.667  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      MAC2T2          MAC3T2          MAC1T3          MAC2T3     
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.333   1st Qu.:2.000  
##  Median :3.000   Median :3.000   Median :3.167   Median :3.000  
##  Mean   :2.923   Mean   :2.906   Mean   :3.097   Mean   :3.041  
##  3rd Qu.:3.667   3rd Qu.:3.667   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      MAC3T3       TimePoint              EN1             EN2       
##  Min.   :1.000   Length:2610        Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   Class :character   1st Qu.:2.000   1st Qu.:2.000  
##  Median :3.000   Mode  :character   Median :3.000   Median :3.000  
##  Mean   :3.051                      Mean   :2.925   Mean   :3.045  
##  3rd Qu.:4.000                      3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :6.000                      Max.   :6.000   Max.   :6.000  
##                                                                    
##       EN3            EN4             EN5             ENR1            ENR2      
##  Min.   :1.00   Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.00   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:3.000   1st Qu.:3.000  
##  Median :3.00   Median :3.000   Median :4.000   Median :4.000   Median :4.000  
##  Mean   :2.71   Mean   :3.177   Mean   :3.539   Mean   :3.799   Mean   :3.821  
##  3rd Qu.:4.00   3rd Qu.:4.000   3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000  
##  Max.   :6.00   Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                                
##       ENR3           ENR4      
##  Min.   :1.00   Min.   :1.000  
##  1st Qu.:3.00   1st Qu.:3.000  
##  Median :4.00   Median :4.000  
##  Mean   :3.61   Mean   :3.771  
##  3rd Qu.:4.00   3rd Qu.:5.000  
##  Max.   :6.00   Max.   :6.000  
## 
model <- '
  enjoy =~ EN1 + EN2 + EN3 + EN4 + EN5
'


# 不约束模型(配置不变性)
fit_configural <- cfa(model, data = spss_long, group = "TimePoint", control = list(iter.max = 10000, reltol = 1e-8))
summary(fit_configural, fit.measures = TRUE)
## lavaan 0.6-18 ended normally after 42 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        45
## 
##   Number of observations per group:                   
##     T1                                             870
##     T2                                             870
##     T3                                             870
## 
## Model Test User Model:
##                                                       
##   Test statistic                               898.046
##   Degrees of freedom                                15
##   P-value (Chi-square)                           0.000
##   Test statistic for each group:
##     T1                                         352.472
##     T2                                         287.290
##     T3                                         258.284
## 
## Model Test Baseline Model:
## 
##   Test statistic                             11859.620
##   Degrees of freedom                                30
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.925
##   Tucker-Lewis Index (TLI)                       0.851
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -17413.561
##   Loglikelihood unrestricted model (H1)     -16964.538
##                                                       
##   Akaike (AIC)                               34917.122
##   Bayesian (BIC)                             35181.141
##   Sample-size adjusted Bayesian (SABIC)      35038.163
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.260
##   90 Percent confidence interval - lower         0.246
##   90 Percent confidence interval - upper         0.275
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    1.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.053
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## 
## Group 1 [T1]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   enjoy =~                                            
##     EN1               1.000                           
##     EN2               1.062    0.024   44.708    0.000
##     EN3               0.893    0.024   37.478    0.000
##     EN4               0.935    0.032   29.088    0.000
##     EN5               0.877    0.039   22.481    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1               2.910    0.044   65.441    0.000
##    .EN2               3.071    0.046   66.110    0.000
##    .EN3               2.653    0.042   62.929    0.000
##    .EN4               3.166    0.050   63.178    0.000
##    .EN5               3.547    0.055   64.349    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1               0.287    0.021   13.766    0.000
##    .EN2               0.261    0.021   12.205    0.000
##    .EN3               0.404    0.024   17.001    0.000
##    .EN4               0.930    0.049   19.070    0.000
##    .EN5               1.540    0.077   19.917    0.000
##     enjoy             1.434    0.083   17.305    0.000
## 
## 
## Group 2 [T2]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   enjoy =~                                            
##     EN1               1.000                           
##     EN2               1.088    0.024   45.889    0.000
##     EN3               0.909    0.023   38.737    0.000
##     EN4               0.997    0.032   31.322    0.000
##     EN5               0.878    0.037   23.772    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1               2.907    0.045   64.624    0.000
##    .EN2               3.049    0.047   65.059    0.000
##    .EN3               2.693    0.042   63.981    0.000
##    .EN4               3.179    0.051   62.192    0.000
##    .EN5               3.499    0.053   65.933    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1               0.326    0.021   15.296    0.000
##    .EN2               0.214    0.019   11.202    0.000
##    .EN3               0.357    0.021   16.778    0.000
##    .EN4               0.848    0.045   18.861    0.000
##    .EN5               1.344    0.068   19.895    0.000
##     enjoy             1.434    0.084   17.033    0.000
## 
## 
## Group 3 [T3]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   enjoy =~                                            
##     EN1               1.000                           
##     EN2               1.046    0.017   60.579    0.000
##     EN3               0.927    0.019   48.773    0.000
##     EN4               0.948    0.025   37.523    0.000
##     EN5               0.866    0.033   26.373    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1               2.959    0.045   65.118    0.000
##    .EN2               3.014    0.046   65.067    0.000
##    .EN3               2.783    0.044   63.934    0.000
##    .EN4               3.187    0.049   65.316    0.000
##    .EN5               3.570    0.053   67.154    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1               0.212    0.014   14.611    0.000
##    .EN2               0.134    0.013   10.632    0.000
##    .EN3               0.287    0.017   17.109    0.000
##    .EN4               0.648    0.034   19.189    0.000
##    .EN5               1.269    0.063   20.157    0.000
##     enjoy             1.584    0.086   18.395    0.000
if(!fit_configural@Fit@converged) stop("Configural model did not converge")

# 度量不变性模型
fit_metric <- cfa(model, data = spss_long, group = "TimePoint", group.equal = "loadings", control = list(iter.max = 1000, reltol = 1e-8))
summary(fit_metric, fit.measures = TRUE)
## lavaan 0.6-18 ended normally after 40 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        45
##   Number of equality constraints                     8
## 
##   Number of observations per group:                   
##     T1                                             870
##     T2                                             870
##     T3                                             870
## 
## Model Test User Model:
##                                                       
##   Test statistic                               905.190
##   Degrees of freedom                                23
##   P-value (Chi-square)                           0.000
##   Test statistic for each group:
##     T1                                         353.800
##     T2                                         290.311
##     T3                                         261.079
## 
## Model Test Baseline Model:
## 
##   Test statistic                             11859.620
##   Degrees of freedom                                30
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.925
##   Tucker-Lewis Index (TLI)                       0.903
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -17417.133
##   Loglikelihood unrestricted model (H1)     -16964.538
##                                                       
##   Akaike (AIC)                               34908.266
##   Bayesian (BIC)                             35125.349
##   Sample-size adjusted Bayesian (SABIC)      35007.789
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.210
##   90 Percent confidence interval - lower         0.198
##   90 Percent confidence interval - upper         0.222
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    1.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.054
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## 
## Group 1 [T1]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   enjoy =~                                            
##     EN1               1.000                           
##     EN2     (.p2.)    1.061    0.012   88.123    0.000
##     EN3     (.p3.)    0.912    0.013   72.627    0.000
##     EN4     (.p4.)    0.959    0.017   56.925    0.000
##     EN5     (.p5.)    0.873    0.021   42.079    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1               2.910    0.044   65.694    0.000
##    .EN2               3.071    0.046   66.423    0.000
##    .EN3               2.653    0.043   62.285    0.000
##    .EN4               3.166    0.051   62.537    0.000
##    .EN5               3.547    0.055   64.663    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1               0.290    0.020   14.285    0.000
##    .EN2               0.265    0.021   12.881    0.000
##    .EN3               0.400    0.024   17.015    0.000
##    .EN4               0.925    0.049   19.062    0.000
##    .EN5               1.537    0.077   19.970    0.000
##     enjoy             1.418    0.075   18.889    0.000
## 
## 
## Group 2 [T2]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   enjoy =~                                            
##     EN1               1.000                           
##     EN2     (.p2.)    1.061    0.012   88.123    0.000
##     EN3     (.p3.)    0.912    0.013   72.627    0.000
##     EN4     (.p4.)    0.959    0.017   56.925    0.000
##     EN5     (.p5.)    0.873    0.021   42.079    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1               2.907    0.045   64.001    0.000
##    .EN2               3.049    0.046   65.619    0.000
##    .EN3               2.693    0.043   63.246    0.000
##    .EN4               3.179    0.050   63.104    0.000
##    .EN5               3.499    0.053   65.679    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1               0.321    0.021   15.334    0.000
##    .EN2               0.221    0.018   12.029    0.000
##    .EN3               0.353    0.021   16.757    0.000
##    .EN4               0.853    0.045   19.040    0.000
##    .EN5               1.347    0.068   19.912    0.000
##     enjoy             1.474    0.078   18.907    0.000
## 
## 
## Group 3 [T3]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   enjoy =~                                            
##     EN1               1.000                           
##     EN2     (.p2.)    1.061    0.012   88.123    0.000
##     EN3     (.p3.)    0.912    0.013   72.627    0.000
##     EN4     (.p4.)    0.959    0.017   56.925    0.000
##     EN5     (.p5.)    0.873    0.021   42.079    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1               2.959    0.045   65.358    0.000
##    .EN2               3.014    0.047   64.590    0.000
##    .EN3               2.783    0.043   64.990    0.000
##    .EN4               3.187    0.049   65.034    0.000
##    .EN5               3.570    0.053   67.110    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1               0.214    0.014   14.901    0.000
##    .EN2               0.130    0.012   10.448    0.000
##    .EN3               0.292    0.017   17.426    0.000
##    .EN4               0.648    0.034   19.208    0.000
##    .EN5               1.267    0.063   20.173    0.000
##     enjoy             1.568    0.081   19.259    0.000
if(!fit_metric@Fit@converged) stop("Metric model did not converge")

# 截距不变性模型
fit_scalar <- cfa(model, data = spss_long, group = "TimePoint", group.equal = c("loadings", "intercepts"), control = list(iter.max = 1000, reltol = 1e-8))
summary(fit_scalar, fit.measures = TRUE)
## lavaan 0.6-18 ended normally after 51 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        47
##   Number of equality constraints                    18
## 
##   Number of observations per group:                   
##     T1                                             870
##     T2                                             870
##     T3                                             870
## 
## Model Test User Model:
##                                                       
##   Test statistic                               941.281
##   Degrees of freedom                                31
##   P-value (Chi-square)                           0.000
##   Test statistic for each group:
##     T1                                         367.461
##     T2                                         294.312
##     T3                                         279.508
## 
## Model Test Baseline Model:
## 
##   Test statistic                             11859.620
##   Degrees of freedom                                30
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.923
##   Tucker-Lewis Index (TLI)                       0.926
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -17435.178
##   Loglikelihood unrestricted model (H1)     -16964.538
##                                                       
##   Akaike (AIC)                               34928.356
##   Bayesian (BIC)                             35098.502
##   Sample-size adjusted Bayesian (SABIC)      35006.361
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.184
##   90 Percent confidence interval - lower         0.174
##   90 Percent confidence interval - upper         0.194
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    1.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.055
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## 
## Group 1 [T1]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   enjoy =~                                            
##     EN1               1.000                           
##     EN2     (.p2.)    1.059    0.012   87.801    0.000
##     EN3     (.p3.)    0.911    0.013   72.448    0.000
##     EN4     (.p4.)    0.959    0.017   56.964    0.000
##     EN5     (.p5.)    0.873    0.021   42.098    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1     (.12.)    2.922    0.042   68.860    0.000
##    .EN2     (.13.)    3.028    0.045   67.784    0.000
##    .EN3     (.14.)    2.710    0.039   68.910    0.000
##    .EN4     (.15.)    3.172    0.043   73.375    0.000
##    .EN5     (.16.)    3.533    0.043   82.759    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1               0.289    0.020   14.230    0.000
##    .EN2               0.269    0.021   12.963    0.000
##    .EN3               0.404    0.024   17.029    0.000
##    .EN4               0.924    0.049   19.045    0.000
##    .EN5               1.536    0.077   19.962    0.000
##     enjoy             1.418    0.075   18.884    0.000
## 
## 
## Group 2 [T2]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   enjoy =~                                            
##     EN1               1.000                           
##     EN2     (.p2.)    1.059    0.012   87.801    0.000
##     EN3     (.p3.)    0.911    0.013   72.448    0.000
##     EN4     (.p4.)    0.959    0.017   56.964    0.000
##     EN5     (.p5.)    0.873    0.021   42.098    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1     (.12.)    2.922    0.042   68.860    0.000
##    .EN2     (.13.)    3.028    0.045   67.784    0.000
##    .EN3     (.14.)    2.710    0.039   68.910    0.000
##    .EN4     (.15.)    3.172    0.043   73.375    0.000
##    .EN5     (.16.)    3.533    0.043   82.759    0.000
##     enjoy            -0.000    0.059   -0.007    0.994
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1               0.321    0.021   15.318    0.000
##    .EN2               0.223    0.018   12.076    0.000
##    .EN3               0.353    0.021   16.745    0.000
##    .EN4               0.853    0.045   19.033    0.000
##    .EN5               1.347    0.068   19.909    0.000
##     enjoy             1.475    0.078   18.903    0.000
## 
## 
## Group 3 [T3]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   enjoy =~                                            
##     EN1               1.000                           
##     EN2     (.p2.)    1.059    0.012   87.801    0.000
##     EN3     (.p3.)    0.911    0.013   72.448    0.000
##     EN4     (.p4.)    0.959    0.017   56.964    0.000
##     EN5     (.p5.)    0.873    0.021   42.098    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1     (.12.)    2.922    0.042   68.860    0.000
##    .EN2     (.13.)    3.028    0.045   67.784    0.000
##    .EN3     (.14.)    2.710    0.039   68.910    0.000
##    .EN4     (.15.)    3.172    0.043   73.375    0.000
##    .EN5     (.16.)    3.533    0.043   82.759    0.000
##     enjoy             0.018    0.060    0.305    0.761
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1               0.214    0.014   14.808    0.000
##    .EN2               0.134    0.013   10.613    0.000
##    .EN3               0.295    0.017   17.428    0.000
##    .EN4               0.646    0.034   19.180    0.000
##    .EN5               1.267    0.063   20.162    0.000
##     enjoy             1.570    0.082   19.258    0.000
if(!fit_scalar@Fit@converged) stop("Scalar model did not converge")

# 严格不变性模型
fit_strict <- cfa(model, data = spss_long, group = "TimePoint", group.equal = c("loadings", "intercepts", "residuals"), control = list(iter.max = 1000, reltol = 1e-8))
summary(fit_strict, fit.measures = TRUE)
## lavaan 0.6-18 ended normally after 46 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        47
##   Number of equality constraints                    28
## 
##   Number of observations per group:                   
##     T1                                             870
##     T2                                             870
##     T3                                             870
## 
## Model Test User Model:
##                                                       
##   Test statistic                              1074.001
##   Degrees of freedom                                41
##   P-value (Chi-square)                           0.000
##   Test statistic for each group:
##     T1                                         398.826
##     T2                                         301.737
##     T3                                         373.438
## 
## Model Test Baseline Model:
## 
##   Test statistic                             11859.620
##   Degrees of freedom                                30
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.913
##   Tucker-Lewis Index (TLI)                       0.936
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -17501.538
##   Loglikelihood unrestricted model (H1)     -16964.538
##                                                       
##   Akaike (AIC)                               35041.077
##   Bayesian (BIC)                             35152.552
##   Sample-size adjusted Bayesian (SABIC)      35092.183
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.170
##   90 Percent confidence interval - lower         0.161
##   90 Percent confidence interval - upper         0.179
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    1.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.058
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## 
## Group 1 [T1]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   enjoy =~                                            
##     EN1               1.000                           
##     EN2     (.p2.)    1.063    0.012   85.432    0.000
##     EN3     (.p3.)    0.909    0.013   71.269    0.000
##     EN4     (.p4.)    0.959    0.017   55.925    0.000
##     EN5     (.p5.)    0.873    0.021   41.766    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1     (.12.)    2.920    0.043   68.678    0.000
##    .EN2     (.13.)    3.039    0.045   67.914    0.000
##    .EN3     (.14.)    2.704    0.039   68.848    0.000
##    .EN4     (.15.)    3.172    0.043   73.253    0.000
##    .EN5     (.16.)    3.534    0.043   82.649    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1     (.p6.)    0.273    0.011   25.039    0.000
##    .EN2     (.p7.)    0.207    0.010   20.098    0.000
##    .EN3     (.p8.)    0.352    0.012   29.290    0.000
##    .EN4     (.p9.)    0.811    0.025   32.930    0.000
##    .EN5     (.10.)    1.386    0.040   34.597    0.000
##     enjoy             1.431    0.075   18.970    0.000
## 
## 
## Group 2 [T2]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   enjoy =~                                            
##     EN1               1.000                           
##     EN2     (.p2.)    1.063    0.012   85.432    0.000
##     EN3     (.p3.)    0.909    0.013   71.269    0.000
##     EN4     (.p4.)    0.959    0.017   55.925    0.000
##     EN5     (.p5.)    0.873    0.021   41.766    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1     (.12.)    2.920    0.043   68.678    0.000
##    .EN2     (.13.)    3.039    0.045   67.914    0.000
##    .EN3     (.14.)    2.704    0.039   68.848    0.000
##    .EN4     (.15.)    3.172    0.043   73.253    0.000
##    .EN5     (.16.)    3.534    0.043   82.649    0.000
##     enjoy            -0.003    0.059   -0.044    0.965
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1     (.p6.)    0.273    0.011   25.039    0.000
##    .EN2     (.p7.)    0.207    0.010   20.098    0.000
##    .EN3     (.p8.)    0.352    0.012   29.290    0.000
##    .EN4     (.p9.)    0.811    0.025   32.930    0.000
##    .EN5     (.10.)    1.386    0.040   34.597    0.000
##     enjoy             1.478    0.078   18.999    0.000
## 
## 
## Group 3 [T3]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   enjoy =~                                            
##     EN1               1.000                           
##     EN2     (.p2.)    1.063    0.012   85.432    0.000
##     EN3     (.p3.)    0.909    0.013   71.269    0.000
##     EN4     (.p4.)    0.959    0.017   55.925    0.000
##     EN5     (.p5.)    0.873    0.021   41.766    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1     (.12.)    2.920    0.043   68.678    0.000
##    .EN2     (.13.)    3.039    0.045   67.914    0.000
##    .EN3     (.14.)    2.704    0.039   68.848    0.000
##    .EN4     (.15.)    3.172    0.043   73.253    0.000
##    .EN5     (.16.)    3.534    0.043   82.649    0.000
##     enjoy             0.020    0.060    0.327    0.744
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .EN1     (.p6.)    0.273    0.011   25.039    0.000
##    .EN2     (.p7.)    0.207    0.010   20.098    0.000
##    .EN3     (.p8.)    0.352    0.012   29.290    0.000
##    .EN4     (.p9.)    0.811    0.025   32.930    0.000
##    .EN5     (.10.)    1.386    0.040   34.597    0.000
##     enjoy             1.550    0.081   19.038    0.000
if(!fit_strict@Fit@converged) stop("Strict model did not converge")

# 比较模型
anova(fit_configural, fit_metric, fit_scalar, fit_strict)
## 
## Chi-Squared Difference Test
## 
##                Df   AIC   BIC   Chisq Chisq diff    RMSEA Df diff Pr(>Chisq)
## fit_configural 15 34917 35181  898.05                                       
## fit_metric     23 34908 35125  905.19      7.144 0.000000       8     0.5211
## fit_scalar     31 34928 35099  941.28     36.090 0.063529       8  1.691e-05
## fit_strict     41 35041 35153 1074.00    132.720 0.118768      10  < 2.2e-16
##                   
## fit_configural    
## fit_metric        
## fit_scalar     ***
## fit_strict     ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
library(haven)
selected_data <- spss[, c("MAC1T1", "MAC2T1", "MAC3T1")]

# 检查选择的变量
print(head(selected_data))
##     MAC1T1   MAC2T1   MAC3T1
## 1 2.666667 1.333333 1.000000
## 2 3.666667 4.000000 2.333333
## 3 3.333333 4.333333 3.666667
## 4 4.333333 3.333333 2.000000
## 5 4.000000 4.000000 3.666667
## 6 3.666667 1.666667 2.000000
# 计算协方差矩阵
cov_matrix <- cov(selected_data, use = "pairwise.complete.obs")

# 打印协方差矩阵
print(cov_matrix)
##           MAC1T1   MAC2T1    MAC3T1
## MAC1T1 1.2511704 1.020317 0.9335632
## MAC2T1 1.0203170 1.510035 1.0300044
## MAC3T1 0.9335632 1.030004 1.5022574
library(lavaan)
library(lavaan)
library(tidyverse)


# 定義測量模型
model3 <- '
  AC1 =~ AC1T1 + AC2T1 + AC3T1  + AC4T1 + AC5T1 + AC6T1 + AC7T1 + AC8T1 + AC9T1
  AC2 =~ AC1T2 + AC2T2 + AC3T2  + AC4T2 + AC5T2 + AC6T2 + AC7T2 + AC8T2 + AC9T2 
  AC3 =~ AC1T3 + AC2T3 + AC3T3  + AC4T3 + AC5T3 + AC6T3 + AC7T3 + AC8T3 + AC9T3 
'


spss_long3 <- spss %>%
  pivot_longer(cols = starts_with("AC"), names_to = c("Variable", "TimePoint"), names_sep = "T") %>%
  mutate(TimePoint = paste0("T", TimePoint)) %>%
  pivot_wider(names_from = Variable, values_from = value)

# 查看新数据框
str(spss_long3)
## tibble [2,610 × 134] (S3: tbl_df/tbl/data.frame)
##  $ ID       : num [1:2610] 120201 120201 120201 120202 120202 ...
##  $ School   : Factor w/ 11 levels "興華","嘉義",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ grade    : num [1:2610] 2 2 2 2 2 2 2 2 2 2 ...
##  $ Class    : num [1:2610] 2 2 2 2 2 2 2 2 2 2 ...
##  $ Number   : num [1:2610] 1 1 1 2 2 2 3 3 3 4 ...
##  $ Gender   : Factor w/ 3 levels "female","male",..: 2 2 2 2 2 2 2 2 2 2 ...
##  $ EN1T1    : num [1:2610] 4 4 4 4 4 4 3 3 3 3 ...
##  $ EN2T1    : num [1:2610] 5 5 5 5 5 5 3 3 3 4 ...
##  $ EN3T1    : num [1:2610] 4 4 4 4 4 4 3 3 3 2 ...
##  $ EN4T1    : num [1:2610] 6 6 6 6 6 6 3 3 3 3 ...
##  $ EN5T1    : num [1:2610] 6 6 6 6 6 6 3 3 3 3 ...
##  $ FR1T1    : num [1:2610] 2 2 2 5 5 5 2 2 2 4 ...
##  $ FR2T1    : num [1:2610] 1 1 1 2 2 2 2 2 2 3 ...
##  $ FR3T1    : num [1:2610] 4 4 4 6 6 6 3 3 3 3 ...
##  $ SE1T1    : num [1:2610] 3 3 3 3 3 3 5 5 5 2 ...
##  $ SE2T1    : num [1:2610] 1 1 1 6 6 6 5 5 5 1 ...
##  $ SE3T1    : num [1:2610] 3 3 3 5 5 5 4 4 4 4 ...
##  $ SE4T1    : num [1:2610] 3 3 3 4 4 4 2 2 2 4 ...
##  $ SE5T1    : num [1:2610] 3 3 3 4 4 4 2 2 2 3 ...
##  $ ENR1T1   : num [1:2610] 4 4 4 6 6 6 4 4 4 3 ...
##  $ ENR2T1   : num [1:2610] 3 3 3 6 6 6 4 4 4 3 ...
##  $ ENR3T1   : num [1:2610] 4 4 4 4 4 4 4 4 4 3 ...
##  $ ENR4T1   : num [1:2610] 3 3 3 6 6 6 4 4 4 4 ...
##  $ FRR1T1   : num [1:2610] 3 3 3 6 6 6 5 5 5 3 ...
##  $ FRR2T1   : num [1:2610] 4 4 4 4 4 4 5 5 5 3 ...
##  $ FRR3T1   : num [1:2610] 3 3 3 6 6 6 5 5 5 3 ...
##  $ FRR4T1   : num [1:2610] 3 3 3 6 6 6 6 6 6 3 ...
##  $ BO1T1    : num [1:2610] 1 1 1 3 3 3 2 2 2 3 ...
##  $ BO2T1    : num [1:2610] 1 1 1 3 3 3 2 2 2 3 ...
##  $ BO3T1    : num [1:2610] 1 1 1 3 3 3 2 2 2 4 ...
##  $ BO4T1    : num [1:2610] 1 1 1 3 3 3 2 2 2 5 ...
##  $ CB1T1    : num [1:2610] 1 1 1 1 1 1 2 2 2 1 ...
##  $ CB2T1    : num [1:2610] 1 1 1 3 3 3 2 2 2 4 ...
##  $ CB3T1    : num [1:2610] 1 1 1 5 5 5 3 3 3 3 ...
##  $ PC1T1    : num [1:2610] 1 1 1 4 4 4 3 3 3 4 ...
##  $ PC2T1    : num [1:2610] 1 1 1 4 4 4 4 4 4 3 ...
##  $ PC3T1    : num [1:2610] 1 1 1 3 3 3 4 4 4 4 ...
##  $ PC4T1    : num [1:2610] 1 1 1 3 3 3 4 4 4 5 ...
##  $ EN1T2    : num [1:2610] 4 4 4 4 4 4 2 2 2 3 ...
##  $ EN2T2    : num [1:2610] 4 4 4 6 6 6 3 3 3 2 ...
##  $ EN3T2    : num [1:2610] 3 3 3 4 4 4 4 4 4 2 ...
##  $ EN4T2    : num [1:2610] 5 5 5 6 6 6 1 1 1 2 ...
##  $ EN5T2    : num [1:2610] 5 5 5 6 6 6 1 1 1 4 ...
##  $ FR1T2    : num [1:2610] 1 1 1 1 1 1 1 1 1 4 ...
##  $ FR2T2    : num [1:2610] 1 1 1 1 1 1 2 2 2 3 ...
##  $ FR3T2    : num [1:2610] 3 3 3 6 6 6 1 1 1 1 ...
##  $ SE1T2    : num [1:2610] 1 1 1 1 1 1 5 5 5 3 ...
##  $ SE2T2    : num [1:2610] 1 1 1 6 6 6 6 6 6 1 ...
##  $ SE3T2    : num [1:2610] 3 3 3 3 3 3 5 5 5 5 ...
##  $ SE4T2    : num [1:2610] 4 4 4 4 4 4 3 3 3 6 ...
##  $ SE5T2    : num [1:2610] 3 3 3 3 3 3 3 3 3 5 ...
##  $ ENR1T2   : num [1:2610] 5 5 5 6 6 6 4 4 4 3 ...
##  $ ENR2T2   : num [1:2610] 3 3 3 6 6 6 4 4 4 3 ...
##  $ ENR3T2   : num [1:2610] 4 4 4 4 4 4 3 3 3 3 ...
##  $ ENR4T2   : num [1:2610] 4 4 4 6 6 6 5 5 5 2 ...
##  $ FRR1T2   : num [1:2610] 3 3 3 6 6 6 6 6 6 4 ...
##  $ FRR2T2   : num [1:2610] 4 4 4 6 6 6 6 6 6 4 ...
##  $ FRR3T2   : num [1:2610] 3 3 3 4 4 4 3 3 3 2 ...
##  $ FRR4T2   : num [1:2610] 5 5 5 4 4 4 5 5 5 4 ...
##  $ BO1T2    : num [1:2610] 1 1 1 1 1 1 3 3 3 5 ...
##  $ BO2T2    : num [1:2610] 1 1 1 1 1 1 3 3 3 4 ...
##  $ BO3T2    : num [1:2610] 1 1 1 1 1 1 3 3 3 6 ...
##  $ BO4T2    : num [1:2610] 1 1 1 1 1 1 2 2 2 5 ...
##  $ CB1T2    : num [1:2610] 1 1 1 2 2 2 1 1 1 1 ...
##  $ CB2T2    : num [1:2610] 1 1 1 2 2 2 1 1 1 4 ...
##  $ CB3T2    : num [1:2610] 1 1 1 1 1 1 4 4 4 4 ...
##  $ PC1T2    : num [1:2610] 1 1 1 2 2 2 4 4 4 4 ...
##  $ PC2T2    : num [1:2610] 1 1 1 2 2 2 4 4 4 4 ...
##  $ PC3T2    : num [1:2610] 1 1 1 2 2 2 4 4 4 4 ...
##  $ PC4T2    : num [1:2610] 1 1 1 2 2 2 4 4 4 4 ...
##  $ EN1T3    : num [1:2610] 4 4 4 6 6 6 3 3 3 4 ...
##  $ EN2T3    : num [1:2610] 4 4 4 6 6 6 3 3 3 3 ...
##  $ EN3T3    : num [1:2610] 3 3 3 5 5 5 3 3 3 3 ...
##  $ EN4T3    : num [1:2610] 4 4 4 6 6 6 4 4 4 3 ...
##  $ EN5T3    : num [1:2610] 4 4 4 6 6 6 4 4 4 5 ...
##  $ FR1T3    : num [1:2610] 3 3 3 3 3 3 1 1 1 4 ...
##  $ FR2T3    : num [1:2610] 3 3 3 1 1 1 1 1 1 4 ...
##  $ FR3T3    : num [1:2610] 3 3 3 6 6 6 1 1 1 4 ...
##  $ SE1T3    : num [1:2610] 3 3 3 4 4 4 4 4 4 5 ...
##  $ SE2T3    : num [1:2610] 3 3 3 2 2 2 5 5 5 6 ...
##  $ SE3T3    : num [1:2610] 4 4 4 5 5 5 3 3 3 5 ...
##  $ SE4T3    : num [1:2610] 4 4 4 4 4 4 3 3 3 5 ...
##  $ SE5T3    : num [1:2610] 4 4 4 4 4 4 3 3 3 4 ...
##  $ ENR1T3   : num [1:2610] 4 4 4 6 6 6 4 4 4 4 ...
##  $ ENR2T3   : num [1:2610] 4 4 4 6 6 6 4 4 4 3 ...
##  $ ENR3T3   : num [1:2610] 4 4 4 5 5 5 4 4 4 4 ...
##  $ ENR4T3   : num [1:2610] 4 4 4 6 6 6 4 4 4 3 ...
##  $ FRR1T3   : num [1:2610] 3 3 3 6 6 6 5 5 5 4 ...
##  $ FRR2T3   : num [1:2610] 3 3 3 6 6 6 4 4 4 4 ...
##  $ FRR3T3   : num [1:2610] 4 4 4 4 4 4 5 5 5 3 ...
##  $ FRR4T3   : num [1:2610] 4 4 4 6 6 6 6 6 6 3 ...
##  $ BO1T3    : num [1:2610] 2 2 2 1 1 1 3 3 3 4 ...
##  $ BO2T3    : num [1:2610] 2 2 2 1 1 1 3 3 3 3 ...
##  $ BO3T3    : num [1:2610] 2 2 2 1 1 1 3 3 3 5 ...
##  $ BO4T3    : num [1:2610] 2 2 2 1 1 1 3 3 3 4 ...
##  $ CB1T3    : num [1:2610] 1 1 1 1 1 1 1 1 1 1 ...
##  $ CB2T3    : num [1:2610] 2 2 2 4 4 4 4 4 4 3 ...
##  $ CB3T3    : num [1:2610] 2 2 2 4 4 4 3 3 3 3 ...
##  $ PC1T3    : num [1:2610] 1 1 1 1 1 1 5 5 5 5 ...
##   [list output truncated]
summary(spss_long3)
##        ID              School        grade           Class       
##  Min.   : 120201   嘉義   :438   Min.   :1.000   Min.   : 1.000  
##  1st Qu.: 220817   瑞豐   :375   1st Qu.:1.000   1st Qu.: 2.000  
##  Median : 530524   玉山   :357   Median :2.000   Median : 4.000  
##  Mean   : 548365   鳳甲   :270   Mean   :1.775   Mean   : 4.894  
##  3rd Qu.: 720511   民生   :258   3rd Qu.:2.000   3rd Qu.: 6.000  
##  Max.   :1120542   鳳山   :255   Max.   :3.000   Max.   :19.000  
##                    (Other):657                                   
##      Number         Gender         EN1T1          EN2T1           EN3T1      
##  Min.   : 1.00   female:1524   Min.   :1.00   Min.   :1.000   Min.   :1.000  
##  1st Qu.: 6.00   male  :1083   1st Qu.:2.00   1st Qu.:2.000   1st Qu.:1.000  
##  Median :13.00   3     :   3   Median :3.00   Median :3.000   Median :3.000  
##  Mean   :13.06                 Mean   :2.91   Mean   :3.071   Mean   :2.653  
##  3rd Qu.:19.00                 3rd Qu.:4.00   3rd Qu.:4.000   3rd Qu.:3.000  
##  Max.   :42.00                 Max.   :6.00   Max.   :6.000   Max.   :6.000  
##                                                                              
##      EN4T1           EN5T1           FR1T1           FR2T1      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000  
##  Median :3.000   Median :4.000   Median :3.000   Median :3.000  
##  Mean   :3.166   Mean   :3.547   Mean   :3.166   Mean   :2.834  
##  3rd Qu.:4.000   3rd Qu.:5.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      FR3T1           SE1T1           SE2T1           SE3T1      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.:4.000   1st Qu.:4.000  
##  Median :3.000   Median :3.000   Median :5.000   Median :4.000  
##  Mean   :3.032   Mean   :3.094   Mean   :4.709   Mean   :4.225  
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:6.000   3rd Qu.:5.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      SE4T1           SE5T1          ENR1T1          ENR2T1          ENR3T1     
##  Min.   :1.000   Min.   :1.00   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:3.00   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000  
##  Median :4.000   Median :4.00   Median :4.000   Median :4.000   Median :4.000  
##  Mean   :3.503   Mean   :3.86   Mean   :3.741   Mean   :3.753   Mean   :3.545  
##  3rd Qu.:4.000   3rd Qu.:5.00   3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.00   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                                
##      ENR4T1         FRR1T1          FRR2T1          FRR3T1          FRR4T1     
##  Min.   :1.00   Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.00   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000  
##  Median :4.00   Median :4.000   Median :4.000   Median :4.000   Median :4.000  
##  Mean   :3.72   Mean   :3.714   Mean   :3.738   Mean   :3.629   Mean   :3.787  
##  3rd Qu.:5.00   3rd Qu.:4.000   3rd Qu.:5.000   3rd Qu.:4.000   3rd Qu.:5.000  
##  Max.   :6.00   Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                                
##      BO1T1           BO2T1           BO3T1           BO4T1      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000  
##  Median :3.000   Median :3.000   Median :3.000   Median :3.000  
##  Mean   :3.457   Mean   :3.431   Mean   :3.102   Mean   :3.231  
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      CB1T1           CB2T1           CB3T1           PC1T1      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:1.000   1st Qu.:1.000   1st Qu.:2.000   1st Qu.:1.000  
##  Median :1.000   Median :2.000   Median :3.000   Median :2.000  
##  Mean   :1.898   Mean   :2.326   Mean   :3.085   Mean   :2.595  
##  3rd Qu.:3.000   3rd Qu.:3.000   3rd Qu.:4.000   3rd Qu.:3.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      PC2T1           PC3T1           PC4T1           EN1T2      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:1.000   1st Qu.:1.000   1st Qu.:1.000   1st Qu.:2.000  
##  Median :2.000   Median :2.000   Median :2.000   Median :3.000  
##  Mean   :2.684   Mean   :2.599   Mean   :2.683   Mean   :2.907  
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      EN2T2           EN3T2           EN4T2           EN5T2      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000  
##  Median :3.000   Median :3.000   Median :3.000   Median :4.000  
##  Mean   :3.049   Mean   :2.693   Mean   :3.179   Mean   :3.499  
##  3rd Qu.:4.000   3rd Qu.:3.000   3rd Qu.:4.000   3rd Qu.:5.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      FR1T2           FR2T2          FR3T2          SE1T2           SE2T2      
##  Min.   :1.000   Min.   :1.00   Min.   :1.00   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:2.00   1st Qu.:2.00   1st Qu.:2.000   1st Qu.:4.000  
##  Median :3.000   Median :3.00   Median :3.00   Median :3.000   Median :5.000  
##  Mean   :3.271   Mean   :2.96   Mean   :3.14   Mean   :3.201   Mean   :4.586  
##  3rd Qu.:4.000   3rd Qu.:4.00   3rd Qu.:4.00   3rd Qu.:4.000   3rd Qu.:6.000  
##  Max.   :6.000   Max.   :6.00   Max.   :6.00   Max.   :6.000   Max.   :6.000  
##                                                                               
##      SE3T2          SE4T2           SE5T2           ENR1T2          ENR2T2     
##  Min.   :1.00   Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:4.00   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000  
##  Median :4.00   Median :4.000   Median :4.000   Median :4.000   Median :4.000  
##  Mean   :4.24   Mean   :3.644   Mean   :3.933   Mean   :3.828   Mean   :3.856  
##  3rd Qu.:5.00   3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000  
##  Max.   :6.00   Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                                
##      ENR3T2          ENR4T2          FRR1T2          FRR2T2     
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000  
##  Median :4.000   Median :4.000   Median :4.000   Median :4.000  
##  Mean   :3.629   Mean   :3.818   Mean   :3.785   Mean   :3.795  
##  3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      FRR3T2          FRR4T2          BO1T2           BO2T2         BO3T2      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.0   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:3.000   1st Qu.:2.000   1st Qu.:2.0   1st Qu.:2.000  
##  Median :4.000   Median :4.000   Median :3.000   Median :3.0   Median :3.000  
##  Mean   :3.686   Mean   :3.755   Mean   :3.487   Mean   :3.5   Mean   :3.149  
##  3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.0   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.0   Max.   :6.000  
##                                                                               
##      BO4T2           CB1T2           CB2T2           CB3T2      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:1.000   1st Qu.:1.000   1st Qu.:2.000  
##  Median :3.000   Median :1.000   Median :2.000   Median :3.000  
##  Mean   :3.263   Mean   :2.051   Mean   :2.609   Mean   :3.114  
##  3rd Qu.:4.000   3rd Qu.:3.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      PC1T2           PC2T2          PC3T2           PC4T2           EN1T3      
##  Min.   :1.000   Min.   :1.00   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:1.000   1st Qu.:1.00   1st Qu.:1.000   1st Qu.:1.000   1st Qu.:2.000  
##  Median :2.000   Median :3.00   Median :2.000   Median :3.000   Median :3.000  
##  Mean   :2.701   Mean   :2.79   Mean   :2.682   Mean   :2.778   Mean   :2.959  
##  3rd Qu.:4.000   3rd Qu.:4.00   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.00   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                                
##      EN2T3           EN3T3           EN4T3           EN5T3          FR1T3      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.00   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:3.00   1st Qu.:2.000  
##  Median :3.000   Median :3.000   Median :3.000   Median :4.00   Median :3.000  
##  Mean   :3.014   Mean   :2.783   Mean   :3.187   Mean   :3.57   Mean   :3.347  
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:5.00   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.00   Max.   :6.000  
##                                                                                
##      FR2T3           FR3T3           SE1T3           SE2T3           SE3T3     
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.00  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:3.000   1st Qu.:3.00  
##  Median :3.000   Median :3.000   Median :3.000   Median :4.000   Median :4.00  
##  Mean   :3.064   Mean   :3.155   Mean   :3.271   Mean   :4.295   Mean   :4.14  
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:6.000   3rd Qu.:5.00  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.00  
##                                                                                
##      SE4T3           SE5T3           ENR1T3          ENR2T3     
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000  
##  Median :4.000   Median :4.000   Median :4.000   Median :4.000  
##  Mean   :3.579   Mean   :3.809   Mean   :3.829   Mean   :3.854  
##  3rd Qu.:4.000   3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      ENR3T3          ENR4T3          FRR1T3          FRR2T3     
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000  
##  Median :4.000   Median :4.000   Median :4.000   Median :4.000  
##  Mean   :3.656   Mean   :3.775   Mean   :3.751   Mean   :3.732  
##  3rd Qu.:4.000   3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      FRR3T3          FRR4T3          BO1T3           BO2T3      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:2.000  
##  Median :4.000   Median :4.000   Median :3.000   Median :3.000  
##  Mean   :3.645   Mean   :3.792   Mean   :3.518   Mean   :3.483  
##  3rd Qu.:4.000   3rd Qu.:5.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      BO3T3           BO4T3           CB1T3           CB2T3      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.:1.000   1st Qu.:2.000  
##  Median :3.000   Median :3.000   Median :2.000   Median :3.000  
##  Mean   :3.222   Mean   :3.345   Mean   :2.295   Mean   :2.855  
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:3.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      CB3T3           PC1T3           PC2T3           PC3T3      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000  
##  Median :3.000   Median :3.000   Median :3.000   Median :3.000  
##  Mean   :3.176   Mean   :2.807   Mean   :2.908   Mean   :2.782  
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      PC4T3               filter_.        ZACHT1               ZACHT2         
##  Min.   :1.000   Not Selected:   0   Min.   :-3.0131555   Min.   :-3.187241  
##  1st Qu.:2.000   Selected    :2610   1st Qu.:-0.6833303   1st Qu.:-0.661663  
##  Median :3.000                       Median :-0.0100814   Median : 0.004321  
##  Mean   :2.886                       Mean   :-0.0006499   Mean   :-0.001995  
##  3rd Qu.:4.000                       3rd Qu.: 0.6598713   3rd Qu.: 0.685150  
##  Max.   :6.000                       Max.   : 2.5187201   Max.   : 2.232721  
##                                                                              
##      ZACHT3             ZZACHT1             ZZACHT2         
##  Min.   :-3.013155   Min.   :-3.030778   Min.   :-3.215978  
##  1st Qu.:-0.676073   1st Qu.:-0.686821   1st Qu.:-0.666033  
##  Median : 0.004320   Median :-0.009489   Median : 0.006376  
##  Mean   :-0.001895   Mean   : 0.000000   Mean   : 0.000000  
##  3rd Qu.: 0.665252   3rd Qu.: 0.664528   3rd Qu.: 0.693775  
##  Max.   : 2.268986   Max.   : 2.534652   Max.   : 2.256276  
##                                                             
##     ZZACHT3              ZEN1T1             ZEN2T1            ZEN3T1        
##  Min.   :-3.036674   Min.   :-1.23948   Min.   :-1.2875   Min.   :-1.14012  
##  1st Qu.:-0.679867   1st Qu.:-0.59499   1st Qu.:-0.6653   1st Qu.:-1.14012  
##  Median : 0.006268   Median :-0.01296   Median :-0.1329   Median : 0.20889  
##  Mean   : 0.000000   Mean   : 0.01476   Mean   : 0.0125   Mean   : 0.02014  
##  3rd Qu.: 0.672778   3rd Qu.: 0.78127   3rd Qu.: 0.6157   3rd Qu.: 0.20889  
##  Max.   : 2.290046   Max.   : 2.19917   Max.   : 2.0604   Max.   : 2.37553  
##                                                                             
##      ZEN4T1             ZEN5T1              MAC1T1          MAC2T1     
##  Min.   :-1.27763   Min.   :-1.367392   Min.   :1.000   Min.   :1.000  
##  1st Qu.:-0.64561   1st Qu.:-0.763799   1st Qu.:2.000   1st Qu.:2.000  
##  Median :-0.15034   Median : 0.179542   Median :3.000   Median :2.667  
##  Mean   : 0.01331   Mean   : 0.003013   Mean   :2.905   Mean   :2.812  
##  3rd Qu.: 0.48498   3rd Qu.: 0.758028   3rd Qu.:3.667   3rd Qu.:3.667  
##  Max.   : 1.90644   Max.   : 1.500124   Max.   :6.000   Max.   :6.000  
##                                                                        
##      MAC3T1          MAC1T2          MAC2T2          MAC3T2     
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000  
##  Median :2.667   Median :3.000   Median :3.000   Median :3.000  
##  Mean   :2.805   Mean   :2.987   Mean   :2.923   Mean   :2.906  
##  3rd Qu.:3.667   3rd Qu.:3.667   3rd Qu.:3.667   3rd Qu.:3.667  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000  
##                                                                 
##      MAC1T3          MAC2T3          MAC3T3       TimePoint        
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Length:2610       
##  1st Qu.:2.333   1st Qu.:2.000   1st Qu.:2.000   Class :character  
##  Median :3.167   Median :3.000   Median :3.000   Mode  :character  
##  Mean   :3.097   Mean   :3.041   Mean   :3.051                     
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000                     
##  Max.   :6.000   Max.   :6.000   Max.   :6.000                     
##                                                                    
##       AC1             AC2             AC3             AC4             AC5      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.00  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.:1.000   1st Qu.:2.000   1st Qu.:2.00  
##  Median :4.000   Median :4.000   Median :2.000   Median :3.000   Median :3.00  
##  Mean   :3.448   Mean   :3.411   Mean   :2.129   Mean   :3.187   Mean   :3.24  
##  3rd Qu.:4.000   3rd Qu.:5.000   3rd Qu.:3.000   3rd Qu.:4.000   3rd Qu.:4.00  
##  Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.000   Max.   :6.00  
##                                                                                
##       AC6             AC7             AC8            AC9       
##  Min.   :1.000   Min.   :1.000   Min.   :1.00   Min.   :1.000  
##  1st Qu.:1.000   1st Qu.:2.000   1st Qu.:1.00   1st Qu.:2.000  
##  Median :2.000   Median :3.000   Median :2.00   Median :3.000  
##  Mean   :2.349   Mean   :3.157   Mean   :2.31   Mean   :3.295  
##  3rd Qu.:3.000   3rd Qu.:4.000   3rd Qu.:3.00   3rd Qu.:4.000  
##  Max.   :6.000   Max.   :6.000   Max.   :6.00   Max.   :6.000  
##                                                                
##       ACH        
##  Min.   :  0.00  
##  1st Qu.: 36.00  
##  Median : 60.00  
##  Mean   : 57.65  
##  3rd Qu.: 80.00  
##  Max.   :100.00  
## 
model3 <- '
  Cheating =~ AC1 + AC2 + AC3 +AC4 + AC5 + AC6 + AC7 + AC8 + AC9 
'


# 不约束模型(配置不变性)
fit_configural3 <- cfa(model3, data = spss_long3, group = "TimePoint", control = list(iter.max = 10000, reltol = 1e-8))
summary(fit_configural3, fit.measures = TRUE)
## lavaan 0.6-18 ended normally after 55 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        81
## 
##   Number of observations per group:                   
##     T1                                             870
##     T2                                             870
##     T3                                             870
## 
## Model Test User Model:
##                                                       
##   Test statistic                              1867.907
##   Degrees of freedom                                81
##   P-value (Chi-square)                           0.000
##   Test statistic for each group:
##     T1                                         492.431
##     T2                                         590.244
##     T3                                         785.232
## 
## Model Test Baseline Model:
## 
##   Test statistic                             12999.284
##   Degrees of freedom                               108
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.861
##   Tucker-Lewis Index (TLI)                       0.815
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -36879.385
##   Loglikelihood unrestricted model (H1)     -35945.432
##                                                       
##   Akaike (AIC)                               73920.770
##   Bayesian (BIC)                             74396.006
##   Sample-size adjusted Bayesian (SABIC)      74138.646
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.159
##   90 Percent confidence interval - lower         0.153
##   90 Percent confidence interval - upper         0.166
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    1.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.062
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## 
## Group 1 [T1]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   Cheating =~                                         
##     AC1               1.000                           
##     AC2               0.842    0.047   17.804    0.000
##     AC3               0.593    0.036   16.379    0.000
##     AC4               1.054    0.042   25.169    0.000
##     AC5               1.019    0.046   22.233    0.000
##     AC6               0.722    0.041   17.721    0.000
##     AC7               0.882    0.046   19.325    0.000
##     AC8               0.691    0.042   16.629    0.000
##     AC9               1.000    0.044   22.519    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1               3.457    0.050   68.793    0.000
##    .AC2               3.331    0.054   61.141    0.000
##    .AC3               1.926    0.041   46.527    0.000
##    .AC4               3.090    0.050   61.326    0.000
##    .AC5               3.159    0.054   58.243    0.000
##    .AC6               2.187    0.047   46.589    0.000
##    .AC7               3.051    0.053   57.482    0.000
##    .AC8               2.107    0.048   44.261    0.000
##    .AC9               3.259    0.053   61.944    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1               0.870    0.051   17.154    0.000
##    .AC2               1.641    0.084   19.479    0.000
##    .AC3               1.024    0.052   19.762    0.000
##    .AC4               0.734    0.046   15.976    0.000
##    .AC5               1.180    0.065   18.029    0.000
##    .AC6               1.225    0.063   19.497    0.000
##    .AC7               1.417    0.074   19.100    0.000
##    .AC8               1.337    0.068   19.716    0.000
##    .AC9               1.081    0.060   17.887    0.000
##     Cheating          1.328    0.101   13.149    0.000
## 
## 
## Group 2 [T2]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   Cheating =~                                         
##     AC1               1.000                           
##     AC2               0.817    0.040   20.300    0.000
##     AC3               0.643    0.034   18.987    0.000
##     AC4               1.028    0.034   29.846    0.000
##     AC5               0.920    0.039   23.885    0.000
##     AC6               0.728    0.036   20.036    0.000
##     AC7               0.833    0.038   21.668    0.000
##     AC8               0.705    0.037   18.871    0.000
##     AC9               0.951    0.038   25.209    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1               3.418    0.051   66.841    0.000
##    .AC2               3.421    0.053   64.092    0.000
##    .AC3               2.121    0.044   47.792    0.000
##    .AC4               3.180    0.050   63.104    0.000
##    .AC5               3.245    0.053   61.270    0.000
##    .AC6               2.343    0.048   48.746    0.000
##    .AC7               3.126    0.052   60.488    0.000
##    .AC8               2.298    0.049   47.052    0.000
##    .AC9               3.292    0.053   62.559    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1               0.736    0.044   16.745    0.000
##    .AC2               1.451    0.074   19.481    0.000
##    .AC3               1.076    0.055   19.708    0.000
##    .AC4               0.583    0.038   15.379    0.000
##    .AC5               1.137    0.061   18.622    0.000
##    .AC6               1.193    0.061   19.530    0.000
##    .AC7               1.255    0.065   19.201    0.000
##    .AC8               1.311    0.066   19.726    0.000
##    .AC9               1.015    0.056   18.174    0.000
##     Cheating          1.539    0.107   14.453    0.000
## 
## 
## Group 3 [T3]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   Cheating =~                                         
##     AC1               1.000                           
##     AC2               0.886    0.038   23.592    0.000
##     AC3               0.668    0.034   19.639    0.000
##     AC4               1.064    0.032   33.106    0.000
##     AC5               0.946    0.035   27.164    0.000
##     AC6               0.769    0.036   21.478    0.000
##     AC7               0.893    0.036   24.642    0.000
##     AC8               0.746    0.037   20.182    0.000
##     AC9               0.991    0.035   28.480    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1               3.469    0.050   69.891    0.000
##    .AC2               3.480    0.052   66.793    0.000
##    .AC3               2.341    0.045   51.780    0.000
##    .AC4               3.290    0.050   65.815    0.000
##    .AC5               3.317    0.050   65.788    0.000
##    .AC6               2.517    0.049   51.892    0.000
##    .AC7               3.293    0.051   64.652    0.000
##    .AC8               2.526    0.049   51.107    0.000
##    .AC9               3.333    0.051   65.118    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1               0.639    0.037   17.156    0.000
##    .AC2               1.183    0.061   19.304    0.000
##    .AC3               1.107    0.056   19.916    0.000
##    .AC4               0.472    0.031   15.182    0.000
##    .AC5               0.866    0.047   18.428    0.000
##    .AC6               1.158    0.059   19.665    0.000
##    .AC7               1.057    0.055   19.088    0.000
##    .AC8               1.287    0.065   19.847    0.000
##    .AC9               0.803    0.045   17.975    0.000
##     Cheating          1.504    0.100   14.987    0.000
if(!fit_configural@Fit@converged) stop("Configural model did not converge")

# 度量不变性模型
fit_metric3 <- cfa(model3, data = spss_long3, group = "TimePoint", group.equal = "loadings", control = list(iter.max = 1000, reltol = 1e-8))
summary(fit_metric3, fit.measures = TRUE)
## lavaan 0.6-18 ended normally after 44 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        81
##   Number of equality constraints                    16
## 
##   Number of observations per group:                   
##     T1                                             870
##     T2                                             870
##     T3                                             870
## 
## Model Test User Model:
##                                                       
##   Test statistic                              1878.893
##   Degrees of freedom                                97
##   P-value (Chi-square)                           0.000
##   Test statistic for each group:
##     T1                                         498.659
##     T2                                         592.251
##     T3                                         787.984
## 
## Model Test Baseline Model:
## 
##   Test statistic                             12999.284
##   Degrees of freedom                               108
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.862
##   Tucker-Lewis Index (TLI)                       0.846
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -36884.878
##   Loglikelihood unrestricted model (H1)     -35945.432
##                                                       
##   Akaike (AIC)                               73899.757
##   Bayesian (BIC)                             74281.119
##   Sample-size adjusted Bayesian (SABIC)      74074.595
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.145
##   90 Percent confidence interval - lower         0.140
##   90 Percent confidence interval - upper         0.151
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    1.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.064
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## 
## Group 1 [T1]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   Cheating =~                                         
##     AC1               1.000                           
##     AC2     (.p2.)    0.852    0.024   35.884    0.000
##     AC3     (.p3.)    0.637    0.020   31.788    0.000
##     AC4     (.p4.)    1.049    0.020   51.192    0.000
##     AC5     (.p5.)    0.956    0.022   42.484    0.000
##     AC6     (.p6.)    0.742    0.022   34.297    0.000
##     AC7     (.p7.)    0.871    0.023   38.097    0.000
##     AC8     (.p8.)    0.717    0.022   32.232    0.000
##     AC9     (.p9.)    0.980    0.022   44.237    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1               3.457    0.050   68.620    0.000
##    .AC2               3.331    0.055   60.807    0.000
##    .AC3               1.926    0.042   45.551    0.000
##    .AC4               3.090    0.050   61.279    0.000
##    .AC5               3.159    0.053   59.789    0.000
##    .AC6               2.187    0.047   46.207    0.000
##    .AC7               3.051    0.053   57.690    0.000
##    .AC8               2.107    0.048   43.821    0.000
##    .AC9               3.259    0.052   62.424    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1               0.872    0.050   17.410    0.000
##    .AC2               1.640    0.084   19.537    0.000
##    .AC3               1.014    0.052   19.657    0.000
##    .AC4               0.741    0.045   16.399    0.000
##    .AC5               1.207    0.065   18.592    0.000
##    .AC6               1.214    0.062   19.498    0.000
##    .AC7               1.420    0.074   19.262    0.000
##    .AC8               1.325    0.067   19.696    0.000
##    .AC9               1.086    0.060   18.204    0.000
##     Cheating          1.337    0.080   16.680    0.000
## 
## 
## Group 2 [T2]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   Cheating =~                                         
##     AC1               1.000                           
##     AC2     (.p2.)    0.852    0.024   35.884    0.000
##     AC3     (.p3.)    0.637    0.020   31.788    0.000
##     AC4     (.p4.)    1.049    0.020   51.192    0.000
##     AC5     (.p5.)    0.956    0.022   42.484    0.000
##     AC6     (.p6.)    0.742    0.022   34.297    0.000
##     AC7     (.p7.)    0.871    0.023   38.097    0.000
##     AC8     (.p8.)    0.717    0.022   32.232    0.000
##     AC9     (.p9.)    0.980    0.022   44.237    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1               3.418    0.051   67.668    0.000
##    .AC2               3.421    0.054   63.611    0.000
##    .AC3               2.121    0.044   48.272    0.000
##    .AC4               3.180    0.050   63.098    0.000
##    .AC5               3.245    0.053   60.783    0.000
##    .AC6               2.343    0.048   48.774    0.000
##    .AC7               3.126    0.052   59.973    0.000
##    .AC8               2.298    0.049   47.116    0.000
##    .AC9               3.292    0.053   62.321    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1               0.745    0.043   17.185    0.000
##    .AC2               1.445    0.074   19.497    0.000
##    .AC3               1.081    0.054   19.842    0.000
##    .AC4               0.588    0.037   15.737    0.000
##    .AC5               1.132    0.061   18.667    0.000
##    .AC6               1.195    0.061   19.609    0.000
##    .AC7               1.246    0.065   19.208    0.000
##    .AC8               1.312    0.066   19.798    0.000
##    .AC9               1.010    0.055   18.268    0.000
##     Cheating          1.475    0.087   16.989    0.000
## 
## 
## Group 3 [T3]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   Cheating =~                                         
##     AC1               1.000                           
##     AC2     (.p2.)    0.852    0.024   35.884    0.000
##     AC3     (.p3.)    0.637    0.020   31.788    0.000
##     AC4     (.p4.)    1.049    0.020   51.192    0.000
##     AC5     (.p5.)    0.956    0.022   42.484    0.000
##     AC6     (.p6.)    0.742    0.022   34.297    0.000
##     AC7     (.p7.)    0.871    0.023   38.097    0.000
##     AC8     (.p8.)    0.717    0.022   32.232    0.000
##     AC9     (.p9.)    0.980    0.022   44.237    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1               3.469    0.050   69.264    0.000
##    .AC2               3.480    0.052   67.533    0.000
##    .AC3               2.341    0.045   52.314    0.000
##    .AC4               3.290    0.050   65.852    0.000
##    .AC5               3.317    0.051   64.867    0.000
##    .AC6               2.517    0.048   52.255    0.000
##    .AC7               3.293    0.051   64.954    0.000
##    .AC8               2.526    0.049   51.512    0.000
##    .AC9               3.333    0.051   64.939    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1               0.633    0.037   17.174    0.000
##    .AC2               1.186    0.061   19.446    0.000
##    .AC3               1.115    0.056   20.025    0.000
##    .AC4               0.467    0.030   15.359    0.000
##    .AC5               0.860    0.047   18.394    0.000
##    .AC6               1.166    0.059   19.774    0.000
##    .AC7               1.062    0.055   19.211    0.000
##    .AC8               1.296    0.065   19.949    0.000
##    .AC9               0.803    0.044   18.080    0.000
##     Cheating          1.549    0.090   17.215    0.000
if(!fit_metric@Fit@converged) stop("Metric model did not converge")

# 截距不变性模型
fit_scalar3 <- cfa(model3, data = spss_long3, group = "TimePoint", group.equal = c("loadings", "intercepts"), control = list(iter.max = 1000, reltol = 1e-8))
summary(fit_scalar3, fit.measures = TRUE)
## lavaan 0.6-18 ended normally after 56 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        83
##   Number of equality constraints                    34
## 
##   Number of observations per group:                   
##     T1                                             870
##     T2                                             870
##     T3                                             870
## 
## Model Test User Model:
##                                                       
##   Test statistic                              1979.931
##   Degrees of freedom                               113
##   P-value (Chi-square)                           0.000
##   Test statistic for each group:
##     T1                                         550.566
##     T2                                         593.605
##     T3                                         835.759
## 
## Model Test Baseline Model:
## 
##   Test statistic                             12999.284
##   Degrees of freedom                               108
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.855
##   Tucker-Lewis Index (TLI)                       0.862
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -36935.397
##   Loglikelihood unrestricted model (H1)     -35945.432
##                                                       
##   Akaike (AIC)                               73968.794
##   Bayesian (BIC)                             74256.282
##   Sample-size adjusted Bayesian (SABIC)      74100.595
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.138
##   90 Percent confidence interval - lower         0.133
##   90 Percent confidence interval - upper         0.143
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    1.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.067
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## 
## Group 1 [T1]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   Cheating =~                                         
##     AC1               1.000                           
##     AC2     (.p2.)    0.856    0.024   35.816    0.000
##     AC3     (.p3.)    0.648    0.020   31.920    0.000
##     AC4     (.p4.)    1.054    0.021   50.926    0.000
##     AC5     (.p5.)    0.960    0.023   42.356    0.000
##     AC6     (.p6.)    0.751    0.022   34.395    0.000
##     AC7     (.p7.)    0.878    0.023   38.103    0.000
##     AC8     (.p8.)    0.728    0.022   32.362    0.000
##     AC9     (.p9.)    0.982    0.022   43.959    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1     (.20.)    3.338    0.044   75.902    0.000
##    .AC2     (.21.)    3.324    0.042   79.550    0.000
##    .AC3     (.22.)    2.061    0.033   62.190    0.000
##    .AC4     (.23.)    3.081    0.045   67.858    0.000
##    .AC5     (.24.)    3.142    0.044   71.739    0.000
##    .AC6     (.25.)    2.276    0.037   61.238    0.000
##    .AC7     (.26.)    3.073    0.042   73.681    0.000
##    .AC8     (.27.)    2.239    0.037   60.415    0.000
##    .AC9     (.28.)    3.190    0.044   72.194    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1               0.894    0.051   17.515    0.000
##    .AC2               1.640    0.084   19.531    0.000
##    .AC3               1.032    0.053   19.643    0.000
##    .AC4               0.742    0.045   16.383    0.000
##    .AC5               1.207    0.065   18.580    0.000
##    .AC6               1.221    0.063   19.479    0.000
##    .AC7               1.417    0.074   19.241    0.000
##    .AC8               1.342    0.068   19.681    0.000
##    .AC9               1.094    0.060   18.225    0.000
##     Cheating          1.320    0.079   16.622    0.000
## 
## 
## Group 2 [T2]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   Cheating =~                                         
##     AC1               1.000                           
##     AC2     (.p2.)    0.856    0.024   35.816    0.000
##     AC3     (.p3.)    0.648    0.020   31.920    0.000
##     AC4     (.p4.)    1.054    0.021   50.926    0.000
##     AC5     (.p5.)    0.960    0.023   42.356    0.000
##     AC6     (.p6.)    0.751    0.022   34.395    0.000
##     AC7     (.p7.)    0.878    0.023   38.103    0.000
##     AC8     (.p8.)    0.728    0.022   32.362    0.000
##     AC9     (.p9.)    0.982    0.022   43.959    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1     (.20.)    3.338    0.044   75.902    0.000
##    .AC2     (.21.)    3.324    0.042   79.550    0.000
##    .AC3     (.22.)    2.061    0.033   62.190    0.000
##    .AC4     (.23.)    3.081    0.045   67.858    0.000
##    .AC5     (.24.)    3.142    0.044   71.739    0.000
##    .AC6     (.25.)    2.276    0.037   61.238    0.000
##    .AC7     (.26.)    3.073    0.042   73.681    0.000
##    .AC8     (.27.)    2.239    0.037   60.415    0.000
##    .AC9     (.28.)    3.190    0.044   72.194    0.000
##     Cheatng           0.092    0.059    1.545    0.122
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1               0.749    0.043   17.243    0.000
##    .AC2               1.446    0.074   19.498    0.000
##    .AC3               1.078    0.054   19.814    0.000
##    .AC4               0.589    0.037   15.747    0.000
##    .AC5               1.133    0.061   18.670    0.000
##    .AC6               1.192    0.061   19.587    0.000
##    .AC7               1.247    0.065   19.197    0.000
##    .AC8               1.309    0.066   19.772    0.000
##    .AC9               1.012    0.055   18.288    0.000
##     Cheating          1.458    0.086   16.948    0.000
## 
## 
## Group 3 [T3]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   Cheating =~                                         
##     AC1               1.000                           
##     AC2     (.p2.)    0.856    0.024   35.816    0.000
##     AC3     (.p3.)    0.648    0.020   31.920    0.000
##     AC4     (.p4.)    1.054    0.021   50.926    0.000
##     AC5     (.p5.)    0.960    0.023   42.356    0.000
##     AC6     (.p6.)    0.751    0.022   34.395    0.000
##     AC7     (.p7.)    0.878    0.023   38.103    0.000
##     AC8     (.p8.)    0.728    0.022   32.362    0.000
##     AC9     (.p9.)    0.982    0.022   43.959    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1     (.20.)    3.338    0.044   75.902    0.000
##    .AC2     (.21.)    3.324    0.042   79.550    0.000
##    .AC3     (.22.)    2.061    0.033   62.190    0.000
##    .AC4     (.23.)    3.081    0.045   67.858    0.000
##    .AC5     (.24.)    3.142    0.044   71.739    0.000
##    .AC6     (.25.)    2.276    0.037   61.238    0.000
##    .AC7     (.26.)    3.073    0.042   73.681    0.000
##    .AC8     (.27.)    2.239    0.037   60.415    0.000
##    .AC9     (.28.)    3.190    0.044   72.194    0.000
##     Cheatng           0.206    0.060    3.437    0.001
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1               0.642    0.037   17.251    0.000
##    .AC2               1.187    0.061   19.441    0.000
##    .AC3               1.136    0.057   20.017    0.000
##    .AC4               0.467    0.030   15.337    0.000
##    .AC5               0.860    0.047   18.384    0.000
##    .AC6               1.172    0.059   19.759    0.000
##    .AC7               1.063    0.055   19.194    0.000
##    .AC8               1.314    0.066   19.939    0.000
##    .AC9               0.808    0.045   18.102    0.000
##     Cheating          1.532    0.089   17.165    0.000
if(!fit_scalar@Fit@converged) stop("Scalar model did not converge")

# 严格不变性模型
fit_strict3 <- cfa(model3, data = spss_long3, group = "TimePoint", group.equal = c("loadings", "intercepts", "residuals"), control = list(iter.max = 1000, reltol = 1e-8))
summary(fit_strict3, fit.measures = TRUE)
## lavaan 0.6-18 ended normally after 49 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        83
##   Number of equality constraints                    52
## 
##   Number of observations per group:                   
##     T1                                             870
##     T2                                             870
##     T3                                             870
## 
## Model Test User Model:
##                                                       
##   Test statistic                              2105.400
##   Degrees of freedom                               131
##   P-value (Chi-square)                           0.000
##   Test statistic for each group:
##     T1                                         597.104
##     T2                                         595.863
##     T3                                         912.433
## 
## Model Test Baseline Model:
## 
##   Test statistic                             12999.284
##   Degrees of freedom                               108
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.847
##   Tucker-Lewis Index (TLI)                       0.874
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -36998.132
##   Loglikelihood unrestricted model (H1)     -35945.432
##                                                       
##   Akaike (AIC)                               74058.264
##   Bayesian (BIC)                             74240.144
##   Sample-size adjusted Bayesian (SABIC)      74141.648
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.132
##   90 Percent confidence interval - lower         0.127
##   90 Percent confidence interval - upper         0.137
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    1.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.070
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## 
## Group 1 [T1]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   Cheating =~                                         
##     AC1               1.000                           
##     AC2     (.p2.)    0.853    0.024   35.186    0.000
##     AC3     (.p3.)    0.650    0.020   31.914    0.000
##     AC4     (.p4.)    1.054    0.021   49.956    0.000
##     AC5     (.p5.)    0.965    0.023   41.813    0.000
##     AC6     (.p6.)    0.752    0.022   34.289    0.000
##     AC7     (.p7.)    0.878    0.023   37.623    0.000
##     AC8     (.p8.)    0.728    0.023   32.235    0.000
##     AC9     (.p9.)    0.983    0.023   43.379    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1     (.20.)    3.350    0.044   76.096    0.000
##    .AC2     (.21.)    3.327    0.042   79.587    0.000
##    .AC3     (.22.)    2.066    0.033   61.986    0.000
##    .AC4     (.23.)    3.083    0.045   67.948    0.000
##    .AC5     (.24.)    3.146    0.044   71.408    0.000
##    .AC6     (.25.)    2.275    0.037   61.019    0.000
##    .AC7     (.26.)    3.071    0.042   73.478    0.000
##    .AC8     (.27.)    2.239    0.037   60.245    0.000
##    .AC9     (.28.)    3.198    0.044   72.156    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1     (.10.)    0.762    0.026   29.646    0.000
##    .AC2     (.11.)    1.427    0.042   33.631    0.000
##    .AC3     (.12.)    1.081    0.032   34.220    0.000
##    .AC4     (.13.)    0.599    0.022   26.958    0.000
##    .AC5     (.14.)    1.065    0.033   31.830    0.000
##    .AC6     (.15.)    1.193    0.035   33.807    0.000
##    .AC7     (.16.)    1.242    0.038   33.084    0.000
##    .AC8     (.17.)    1.322    0.039   34.168    0.000
##    .AC9     (.18.)    0.970    0.031   31.218    0.000
##     Cheatng           1.341    0.080   16.791    0.000
## 
## 
## Group 2 [T2]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   Cheating =~                                         
##     AC1               1.000                           
##     AC2     (.p2.)    0.853    0.024   35.186    0.000
##     AC3     (.p3.)    0.650    0.020   31.914    0.000
##     AC4     (.p4.)    1.054    0.021   49.956    0.000
##     AC5     (.p5.)    0.965    0.023   41.813    0.000
##     AC6     (.p6.)    0.752    0.022   34.289    0.000
##     AC7     (.p7.)    0.878    0.023   37.623    0.000
##     AC8     (.p8.)    0.728    0.023   32.235    0.000
##     AC9     (.p9.)    0.983    0.023   43.379    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1     (.20.)    3.350    0.044   76.096    0.000
##    .AC2     (.21.)    3.327    0.042   79.587    0.000
##    .AC3     (.22.)    2.066    0.033   61.986    0.000
##    .AC4     (.23.)    3.083    0.045   67.948    0.000
##    .AC5     (.24.)    3.146    0.044   71.408    0.000
##    .AC6     (.25.)    2.275    0.037   61.019    0.000
##    .AC7     (.26.)    3.071    0.042   73.478    0.000
##    .AC8     (.27.)    2.239    0.037   60.245    0.000
##    .AC9     (.28.)    3.198    0.044   72.156    0.000
##     Cheatng           0.087    0.059    1.467    0.142
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1     (.10.)    0.762    0.026   29.646    0.000
##    .AC2     (.11.)    1.427    0.042   33.631    0.000
##    .AC3     (.12.)    1.081    0.032   34.220    0.000
##    .AC4     (.13.)    0.599    0.022   26.958    0.000
##    .AC5     (.14.)    1.065    0.033   31.830    0.000
##    .AC6     (.15.)    1.193    0.035   33.807    0.000
##    .AC7     (.16.)    1.242    0.038   33.084    0.000
##    .AC8     (.17.)    1.322    0.039   34.168    0.000
##    .AC9     (.18.)    0.970    0.031   31.218    0.000
##     Cheatng           1.456    0.086   16.887    0.000
## 
## 
## Group 3 [T3]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   Cheating =~                                         
##     AC1               1.000                           
##     AC2     (.p2.)    0.853    0.024   35.186    0.000
##     AC3     (.p3.)    0.650    0.020   31.914    0.000
##     AC4     (.p4.)    1.054    0.021   49.956    0.000
##     AC5     (.p5.)    0.965    0.023   41.813    0.000
##     AC6     (.p6.)    0.752    0.022   34.289    0.000
##     AC7     (.p7.)    0.878    0.023   37.623    0.000
##     AC8     (.p8.)    0.728    0.023   32.235    0.000
##     AC9     (.p9.)    0.983    0.023   43.379    0.000
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1     (.20.)    3.350    0.044   76.096    0.000
##    .AC2     (.21.)    3.327    0.042   79.587    0.000
##    .AC3     (.22.)    2.066    0.033   61.986    0.000
##    .AC4     (.23.)    3.083    0.045   67.948    0.000
##    .AC5     (.24.)    3.146    0.044   71.408    0.000
##    .AC6     (.25.)    2.275    0.037   61.019    0.000
##    .AC7     (.26.)    3.071    0.042   73.478    0.000
##    .AC8     (.27.)    2.239    0.037   60.245    0.000
##    .AC9     (.28.)    3.198    0.044   72.156    0.000
##     Cheatng           0.207    0.060    3.444    0.001
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .AC1     (.10.)    0.762    0.026   29.646    0.000
##    .AC2     (.11.)    1.427    0.042   33.631    0.000
##    .AC3     (.12.)    1.081    0.032   34.220    0.000
##    .AC4     (.13.)    0.599    0.022   26.958    0.000
##    .AC5     (.14.)    1.065    0.033   31.830    0.000
##    .AC6     (.15.)    1.193    0.035   33.807    0.000
##    .AC7     (.16.)    1.242    0.038   33.084    0.000
##    .AC8     (.17.)    1.322    0.039   34.168    0.000
##    .AC9     (.18.)    0.970    0.031   31.218    0.000
##     Cheatng           1.512    0.089   16.929    0.000
if(!fit_strict@Fit@converged) stop("Strict model did not converge")

# 比较模型
anova(fit_configural3, fit_metric3, fit_scalar3, fit_strict3)
## 
## Chi-Squared Difference Test
## 
##                  Df   AIC   BIC  Chisq Chisq diff    RMSEA Df diff Pr(>Chisq)
## fit_configural3  81 73921 74396 1867.9                                       
## fit_metric3      97 73900 74281 1878.9     10.986 0.000000      16     0.8103
## fit_scalar3     113 73969 74256 1979.9    101.037 0.078160      16  2.213e-14
## fit_strict3     131 74058 74240 2105.4    125.470 0.082841      18  < 2.2e-16
##                    
## fit_configural3    
## fit_metric3        
## fit_scalar3     ***
## fit_strict3     ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1