Install dan load package yang diperlukan

library(readxl)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
library(tidyr)
library(DataExplorer)
library(lavaan)
## This is lavaan 0.6-19
## lavaan is FREE software! Please report any bugs.
library(semPlot)
library(psych)
## 
## Attaching package: 'psych'
## The following object is masked from 'package:lavaan':
## 
##     cor2cov
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha
library(MVN)
## 
## Attaching package: 'MVN'
## The following object is masked from 'package:psych':
## 
##     mardia
library(car)
## Loading required package: carData
## 
## Attaching package: 'car'
## The following object is masked from 'package:psych':
## 
##     logit
## The following object is masked from 'package:dplyr':
## 
##     recode

Load data

data <- read_excel("C:/Users/eliza/Downloads/2. Response(1).xlsx")

head(data)
## # A tibble: 6 × 23
##    TSC1  TSC2  TSC3  TSC4  TSC5   TE1   TE2   TE3   TE4   TE5   EE1   EE2   EE3
##   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1     4     4     4     4     4     4     4     4     4     4     4     4     4
## 2     4     4     4     4     4     4     4     4     4     4     4     4     4
## 3     4     4     5     4     5     5     4     4     5     4     4     5     5
## 4     4     4     5     4     5     5     4     4     5     4     4     5     5
## 5     4     5     3     4     4     4     4     4     4     4     4     4     4
## 6     4     5     3     4     4     4     4     4     4     4     4     4     4
## # ℹ 10 more variables: EE4 <dbl>, EE5 <dbl>, DE1 <dbl>, DE2 <dbl>, DE3 <dbl>,
## #   RPA1 <dbl>, RPA2 <dbl>, RPA3 <dbl>, RPA4 <dbl>, RPA5 <dbl>
names(data)
##  [1] "TSC1" "TSC2" "TSC3" "TSC4" "TSC5" "TE1"  "TE2"  "TE3"  "TE4"  "TE5" 
## [11] "EE1"  "EE2"  "EE3"  "EE4"  "EE5"  "DE1"  "DE2"  "DE3"  "RPA1" "RPA2"
## [21] "RPA3" "RPA4" "RPA5"

Missing value

sum(is.na(data))
## [1] 0
p <- ncol(data)

Duplicate data

duplikat <- data[duplicated(data), ]

print(duplikat)
## # A tibble: 3 × 23
##    TSC1  TSC2  TSC3  TSC4  TSC5   TE1   TE2   TE3   TE4   TE5   EE1   EE2   EE3
##   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1     4     4     4     4     4     4     4     4     4     4     4     4     4
## 2     4     4     5     4     5     5     4     4     5     4     4     5     5
## 3     4     5     3     4     4     4     4     4     4     4     4     4     4
## # ℹ 10 more variables: EE4 <dbl>, EE5 <dbl>, DE1 <dbl>, DE2 <dbl>, DE3 <dbl>,
## #   RPA1 <dbl>, RPA2 <dbl>, RPA3 <dbl>, RPA4 <dbl>, RPA5 <dbl>
sum(duplicated(data))
## [1] 3
data_clean <- data %>% distinct()
data_clean <- data[!duplicated(data), ]

EDA

Statistik deskriptif

summary(data_clean)
##       TSC1            TSC2            TSC3            TSC4            TSC5     
##  Min.   :1.000   Min.   :2.000   Min.   :2.000   Min.   :2.000   Min.   :2.00  
##  1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.00  
##  Median :4.000   Median :4.000   Median :4.000   Median :4.000   Median :4.00  
##  Mean   :3.652   Mean   :3.808   Mean   :3.731   Mean   :3.708   Mean   :3.82  
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.00  
##  Max.   :5.000   Max.   :5.000   Max.   :5.000   Max.   :5.000   Max.   :5.00  
##       TE1            TE2             TE3             TE4             TE5       
##  Min.   :1.00   Min.   :2.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:4.00   1st Qu.:4.000   1st Qu.:4.000   1st Qu.:4.000   1st Qu.:3.000  
##  Median :4.00   Median :4.000   Median :4.000   Median :4.000   Median :4.000  
##  Mean   :4.06   Mean   :4.044   Mean   :4.121   Mean   :4.104   Mean   :3.901  
##  3rd Qu.:5.00   3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:4.000  
##  Max.   :5.00   Max.   :5.000   Max.   :5.000   Max.   :5.000   Max.   :5.000  
##       EE1             EE2             EE3             EE4       
##  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.811   Mean   :3.725   Mean   :3.876   Mean   :3.686  
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :5.000   Max.   :5.000   Max.   :5.000   Max.   :5.000  
##       EE5             DE1             DE2             DE3       
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:4.000   1st Qu.:3.000   1st Qu.:3.000  
##  Median :4.000   Median :4.000   Median :4.000   Median :4.000  
##  Mean   :3.986   Mean   :3.923   Mean   :3.593   Mean   :3.816  
##  3rd Qu.:5.000   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :5.000   Max.   :5.000   Max.   :5.000   Max.   :5.000  
##       RPA1            RPA2           RPA3            RPA4            RPA5      
##  Min.   :1.000   Min.   :1.00   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:4.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.931   Mean   :3.94   Mean   :3.882   Mean   :3.868   Mean   :3.841  
##  3rd Qu.:5.000   3rd Qu.:4.00   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :5.000   Max.   :5.00   Max.   :5.000   Max.   :5.000   Max.   :5.000

Struktur data

str(data_clean)
## tibble [873 × 23] (S3: tbl_df/tbl/data.frame)
##  $ TSC1: num [1:873] 4 4 4 1 1 2 2 2 2 2 ...
##  $ TSC2: num [1:873] 4 4 5 4 4 2 2 2 2 2 ...
##  $ TSC3: num [1:873] 4 5 3 4 4 2 2 2 2 2 ...
##  $ TSC4: num [1:873] 4 4 4 4 4 2 2 2 2 4 ...
##  $ TSC5: num [1:873] 4 5 4 4 4 2 2 2 2 2 ...
##  $ TE1 : num [1:873] 4 5 4 3 3 1 1 2 2 2 ...
##  $ TE2 : num [1:873] 4 4 4 3 3 2 2 2 2 2 ...
##  $ TE3 : num [1:873] 4 4 4 3 3 1 1 3 3 2 ...
##  $ TE4 : num [1:873] 4 5 4 3 3 1 1 2 2 2 ...
##  $ TE5 : num [1:873] 4 4 4 3 3 1 1 2 2 2 ...
##  $ EE1 : num [1:873] 4 4 4 4 4 1 1 3 3 2 ...
##  $ EE2 : num [1:873] 4 5 4 4 4 1 1 2 2 2 ...
##  $ EE3 : num [1:873] 4 5 4 4 4 1 1 2 2 3 ...
##  $ EE4 : num [1:873] 4 4 4 4 4 1 1 2 2 3 ...
##  $ EE5 : num [1:873] 4 5 4 3 3 1 1 2 2 2 ...
##  $ DE1 : num [1:873] 4 5 4 1 1 3 3 2 2 2 ...
##  $ DE2 : num [1:873] 4 5 4 1 1 2 2 1 1 3 ...
##  $ DE3 : num [1:873] 4 5 4 4 4 2 2 2 2 2 ...
##  $ RPA1: num [1:873] 4 5 4 3 3 2 2 1 1 4 ...
##  $ RPA2: num [1:873] 4 4 4 3 3 1 2 1 1 4 ...
##  $ RPA3: num [1:873] 4 5 4 3 4 2 1 1 2 2 ...
##  $ RPA4: num [1:873] 4 4 4 4 3 2 2 2 1 4 ...
##  $ RPA5: num [1:873] 4 5 4 4 4 1 1 2 2 4 ...

Distribusi untuk semua variabel numerik

plot_histogram(data_clean)

Korelasi antar variabel numerik

plot_correlation(data_clean, type = "continuous")

Distribusi perkolom

numeric_data <- data_clean %>% select(where(is.numeric))
for (col in names(numeric_data)) {
  print(
    ggplot(numeric_data, aes_string(y = col)) +
      geom_boxplot(fill = "skyblue") +
      labs(title = paste("Boxplot of", col), y = col)
  )
}
## Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
## ℹ Please use tidy evaluation idioms with `aes()`.
## ℹ See also `vignette("ggplot2-in-packages")` for more information.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Boxplot per kolom

boxplot(numeric_data,
        main = "Boxplot Semua Variabel Numerik (Base R)",
        col = "skyblue",
        las = 2,      # Rotasi label sumbu x
        outline = TRUE)

Uji Asumsi SEM

Uji Normalitas Multivariat

mardia(numeric_data)
##              Test  Statistic       p.value
## 1 Mardia Skewness 7480.71917  0.000000e+00
## 2 Mardia Kurtosis   36.98154 2.267527e-299

Uji Multikolinearitas

vif_results <- data.frame(
  Indikator = character(),
  VIF = numeric(),
  stringsAsFactors = FALSE
)

for (var in colnames(numeric_data)) {
  predictors <- setdiff(colnames(numeric_data), var)
  formula <- as.formula(paste(var, "~", paste(predictors, collapse = " + ")))
  
  model <- lm(formula, data = numeric_data)
  
  r2 <- summary(model)$r.squared
  
  vif_val <- 1 / (1 - r2)
  
  vif_results <- rbind(vif_results, data.frame(Indikator = var, VIF = round(vif_val, 4)))
}

print(vif_results)
##    Indikator    VIF
## 1       TSC1 1.6799
## 2       TSC2 1.7831
## 3       TSC3 1.6771
## 4       TSC4 1.5790
## 5       TSC5 1.8071
## 6        TE1 2.3015
## 7        TE2 2.0259
## 8        TE3 2.5286
## 9        TE4 3.1218
## 10       TE5 1.8096
## 11       EE1 2.2230
## 12       EE2 2.3546
## 13       EE3 2.4301
## 14       EE4 2.3608
## 15       EE5 2.2943
## 16       DE1 1.6019
## 17       DE2 1.5905
## 18       DE3 1.7023
## 19      RPA1 2.8888
## 20      RPA2 2.9097
## 21      RPA3 2.1238
## 22      RPA4 1.7219
## 23      RPA5 1.4854

Uji Validitas dan Reliabilitas

Uji validitas konstruk

model_cfa <- '
  TSC =~ TSC1 + TSC2 + TSC3 + TSC4 + TSC5
  TE  =~ TE1 + TE2 + TE3 + TE4 + TE5
  EE  =~ EE1 + EE2 + EE3 + EE4 + EE5
  DE  =~ DE1 + DE2 + DE3
  RPA =~ RPA1 + RPA2 + RPA3 + RPA4 + RPA5
'

fit_cfa <- cfa(model_cfa, data = numeric_data)

summary(fit_cfa, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-19 ended normally after 69 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        56
## 
##   Number of observations                           873
## 
## Model Test User Model:
##                                                       
##   Test statistic                               863.501
##   Degrees of freedom                               220
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                             10384.937
##   Degrees of freedom                               253
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.936
##   Tucker-Lewis Index (TLI)                       0.927
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -17497.912
##   Loglikelihood unrestricted model (H1)     -17066.162
##                                                       
##   Akaike (AIC)                               35107.825
##   Bayesian (BIC)                             35375.053
##   Sample-size adjusted Bayesian (SABIC)      35197.210
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.058
##   90 Percent confidence interval - lower         0.054
##   90 Percent confidence interval - upper         0.062
##   P-value H_0: RMSEA <= 0.050                    0.001
##   P-value H_0: RMSEA >= 0.080                    0.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.041
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   TSC =~                                                                
##     TSC1              1.000                               0.452    0.660
##     TSC2              0.994    0.057   17.462    0.000    0.450    0.705
##     TSC3              0.937    0.056   16.636    0.000    0.424    0.664
##     TSC4              0.924    0.059   15.707    0.000    0.418    0.620
##     TSC5              1.023    0.058   17.570    0.000    0.463    0.710
##   TE =~                                                                 
##     TE1               1.000                               0.549    0.770
##     TE2               0.927    0.042   21.999    0.000    0.509    0.728
##     TE3               1.036    0.042   24.693    0.000    0.568    0.805
##     TE4               1.086    0.041   26.704    0.000    0.596    0.863
##     TE5               0.904    0.046   19.589    0.000    0.496    0.657
##   EE =~                                                                 
##     EE1               1.000                               0.569    0.748
##     EE2               1.132    0.051   22.317    0.000    0.644    0.759
##     EE3               1.151    0.049   23.319    0.000    0.655    0.790
##     EE4               1.068    0.048   22.436    0.000    0.607    0.763
##     EE5               1.092    0.048   22.527    0.000    0.621    0.765
##   DE =~                                                                 
##     DE1               1.000                               0.453    0.669
##     DE2               0.978    0.066   14.735    0.000    0.443    0.651
##     DE3               1.150    0.074   15.630    0.000    0.521    0.747
##   RPA =~                                                                
##     RPA1              1.000                               0.700    0.838
##     RPA2              0.982    0.034   29.189    0.000    0.687    0.853
##     RPA3              0.847    0.034   24.698    0.000    0.593    0.751
##     RPA4              0.679    0.035   19.280    0.000    0.475    0.620
##     RPA5              0.615    0.037   16.599    0.000    0.430    0.547
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   TSC ~~                                                                
##     TE                0.164    0.014   11.927    0.000    0.661    0.661
##     EE                0.202    0.016   12.786    0.000    0.785    0.785
##     DE                0.121    0.012   10.069    0.000    0.588    0.588
##     RPA               0.208    0.017   12.132    0.000    0.656    0.656
##   TE ~~                                                                 
##     EE                0.226    0.017   13.432    0.000    0.724    0.724
##     DE                0.138    0.013   10.396    0.000    0.554    0.554
##     RPA               0.246    0.019   13.049    0.000    0.640    0.640
##   EE ~~                                                                 
##     DE                0.126    0.013    9.531    0.000    0.491    0.491
##     RPA               0.292    0.021   13.927    0.000    0.735    0.735
##   DE ~~                                                                 
##     RPA               0.120    0.015    8.028    0.000    0.379    0.379
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .TSC1              0.265    0.015   18.117    0.000    0.265    0.565
##    .TSC2              0.205    0.012   17.324    0.000    0.205    0.503
##    .TSC3              0.228    0.013   18.056    0.000    0.228    0.559
##    .TSC4              0.280    0.015   18.655    0.000    0.280    0.616
##    .TSC5              0.210    0.012   17.207    0.000    0.210    0.495
##    .TE1               0.206    0.012   17.565    0.000    0.206    0.407
##    .TE2               0.230    0.013   18.335    0.000    0.230    0.470
##    .TE3               0.176    0.011   16.674    0.000    0.176    0.353
##    .TE4               0.121    0.009   14.173    0.000    0.121    0.254
##    .TE5               0.324    0.017   19.179    0.000    0.324    0.568
##    .EE1               0.254    0.014   17.965    0.000    0.254    0.440
##    .EE2               0.305    0.017   17.768    0.000    0.305    0.424
##    .EE3               0.257    0.015   17.049    0.000    0.257    0.375
##    .EE4               0.266    0.015   17.693    0.000    0.266    0.419
##    .EE5               0.272    0.015   17.634    0.000    0.272    0.414
##    .DE1               0.253    0.016   15.516    0.000    0.253    0.552
##    .DE2               0.267    0.017   16.057    0.000    0.267    0.576
##    .DE3               0.216    0.017   12.600    0.000    0.216    0.442
##    .RPA1              0.207    0.014   14.826    0.000    0.207    0.297
##    .RPA2              0.177    0.013   14.088    0.000    0.177    0.273
##    .RPA3              0.271    0.015   17.631    0.000    0.271    0.435
##    .RPA4              0.361    0.019   19.345    0.000    0.361    0.616
##    .RPA5              0.432    0.022   19.837    0.000    0.432    0.700
##     TSC               0.205    0.020   10.260    0.000    1.000    1.000
##     TE                0.301    0.023   13.040    0.000    1.000    1.000
##     EE                0.323    0.026   12.512    0.000    1.000    1.000
##     DE                0.205    0.021    9.639    0.000    1.000    1.000
##     RPA               0.490    0.033   14.698    0.000    1.000    1.000

Uji reliabilitas konstruk

TSC_items <- numeric_data %>% select(TSC1, TSC2, TSC3, TSC4, TSC5)
TE_items  <- numeric_data %>% select(TE1, TE2, TE3, TE4, TE5)
EE_items  <- numeric_data %>% select(EE1, EE2, EE3, EE4, EE5)
DE_items  <- numeric_data %>% select(DE1, DE2, DE3)
RPA_items <- numeric_data %>% select(RPA1, RPA2, RPA3, RPA4, RPA5)

# Hitung Cronbach's Alpha
alpha(TSC_items)
## 
## Reliability analysis   
## Call: alpha(x = TSC_items)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##        0.8       0.8    0.77      0.45 4.1 0.011  3.7 0.49     0.45
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.78   0.8  0.82
## Duhachek  0.78   0.8  0.82
## 
##  Reliability if an item is dropped:
##      raw_alpha std.alpha G6(smc) average_r S/N alpha se   var.r med.r
## TSC1      0.77      0.77    0.72      0.46 3.4    0.013 0.00066  0.46
## TSC2      0.76      0.76    0.70      0.44 3.2    0.013 0.00117  0.44
## TSC3      0.77      0.77    0.71      0.45 3.3    0.013 0.00131  0.45
## TSC4      0.78      0.78    0.73      0.47 3.5    0.012 0.00068  0.47
## TSC5      0.76      0.76    0.70      0.44 3.1    0.013 0.00123  0.44
## 
##  Item statistics 
##        n raw.r std.r r.cor r.drop mean   sd
## TSC1 873  0.74  0.74  0.63   0.57  3.7 0.69
## TSC2 873  0.76  0.77  0.68   0.61  3.8 0.64
## TSC3 873  0.75  0.75  0.66   0.59  3.7 0.64
## TSC4 873  0.73  0.73  0.62   0.55  3.7 0.67
## TSC5 873  0.77  0.77  0.69   0.62  3.8 0.65
## 
## Non missing response frequency for each item
##      1    2    3    4    5 miss
## TSC1 0 0.03 0.38 0.51 0.09    0
## TSC2 0 0.01 0.28 0.59 0.11    0
## TSC3 0 0.02 0.31 0.58 0.08    0
## TSC4 0 0.02 0.35 0.53 0.10    0
## TSC5 0 0.01 0.28 0.58 0.12    0
alpha(TE_items)
## 
## Reliability analysis   
## Call: alpha(x = TE_items)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean   sd median_r
##       0.87      0.87    0.86      0.58 6.9 0.0069    4 0.58     0.59
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.86  0.87  0.89
## Duhachek  0.86  0.87  0.89
## 
##  Reliability if an item is dropped:
##     raw_alpha std.alpha G6(smc) average_r S/N alpha se  var.r med.r
## TE1      0.84      0.85    0.81      0.58 5.5   0.0086 0.0057  0.58
## TE2      0.85      0.85    0.82      0.59 5.8   0.0084 0.0100  0.59
## TE3      0.83      0.83    0.80      0.56 5.0   0.0094 0.0087  0.57
## TE4      0.82      0.83    0.79      0.54 4.8   0.0098 0.0055  0.56
## TE5      0.87      0.87    0.84      0.63 6.9   0.0071 0.0027  0.61
## 
##  Item statistics 
##       n raw.r std.r r.cor r.drop mean   sd
## TE1 873  0.81  0.82  0.76   0.70  4.1 0.71
## TE2 873  0.80  0.80  0.73   0.68  4.0 0.70
## TE3 873  0.85  0.85  0.81   0.75  4.1 0.71
## TE4 873  0.87  0.87  0.84   0.78  4.1 0.69
## TE5 873  0.75  0.74  0.63   0.59  3.9 0.76
## 
## Non missing response frequency for each item
##        1    2    3    4    5 miss
## TE1 0.00 0.01 0.17 0.55 0.26    0
## TE2 0.00 0.01 0.20 0.54 0.26    0
## TE3 0.01 0.00 0.14 0.56 0.29    0
## TE4 0.00 0.01 0.15 0.56 0.28    0
## TE5 0.00 0.03 0.23 0.53 0.20    0
alpha(EE_items)
## 
## Reliability analysis   
## Call: alpha(x = EE_items)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean   sd median_r
##       0.88      0.88    0.86      0.59 7.1 0.0067  3.8 0.66     0.59
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.86  0.88  0.89
## Duhachek  0.86  0.88  0.89
## 
##  Reliability if an item is dropped:
##     raw_alpha std.alpha G6(smc) average_r S/N alpha se  var.r med.r
## EE1      0.85      0.85    0.82      0.59 5.8   0.0081 0.0031  0.61
## EE2      0.85      0.85    0.81      0.58 5.5   0.0085 0.0011  0.56
## EE3      0.84      0.84    0.81      0.58 5.4   0.0087 0.0028  0.56
## EE4      0.85      0.85    0.81      0.58 5.5   0.0086 0.0022  0.59
## EE5      0.86      0.86    0.82      0.60 6.0   0.0078 0.0016  0.61
## 
##  Item statistics 
##       n raw.r std.r r.cor r.drop mean   sd
## EE1 873  0.80  0.81  0.74   0.69  3.8 0.76
## EE2 873  0.83  0.83  0.77   0.72  3.7 0.85
## EE3 873  0.84  0.83  0.78   0.73  3.9 0.83
## EE4 873  0.83  0.83  0.77   0.72  3.7 0.80
## EE5 873  0.79  0.79  0.72   0.67  4.0 0.81
## 
## Non missing response frequency for each item
##        1    2    3    4    5 miss
## EE1 0.00 0.03 0.28 0.52 0.17    0
## EE2 0.01 0.05 0.32 0.44 0.18    0
## EE3 0.00 0.04 0.27 0.44 0.24    0
## EE4 0.00 0.05 0.37 0.42 0.16    0
## EE5 0.00 0.03 0.23 0.45 0.28    0
alpha(DE_items)
## 
## Reliability analysis   
## Call: alpha(x = DE_items)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.73      0.73    0.65      0.48 2.7 0.016  3.8 0.55     0.48
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt      0.7  0.73  0.76
## Duhachek   0.7  0.73  0.76
## 
##  Reliability if an item is dropped:
##     raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## DE1      0.65      0.65    0.49      0.49 1.9    0.023    NA  0.49
## DE2      0.65      0.65    0.48      0.48 1.9    0.024    NA  0.48
## DE3      0.63      0.63    0.46      0.46 1.7    0.025    NA  0.46
## 
##  Item statistics 
##       n raw.r std.r r.cor r.drop mean   sd
## DE1 873  0.80  0.80  0.64   0.55  3.9 0.68
## DE2 873  0.80  0.80  0.64   0.55  3.6 0.68
## DE3 873  0.82  0.81  0.66   0.57  3.8 0.70
## 
## Non missing response frequency for each item
##        1    2    3    4    5 miss
## DE1 0.00 0.01 0.20 0.61 0.17    0
## DE2 0.01 0.02 0.41 0.49 0.07    0
## DE3 0.00 0.01 0.30 0.54 0.15    0
alpha(RPA_items)
## 
## Reliability analysis   
## Call: alpha(x = RPA_items)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean   sd median_r
##       0.85      0.84    0.83      0.52 5.4 0.0083  3.9 0.63     0.48
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.83  0.85  0.86
## Duhachek  0.83  0.85  0.86
## 
##  Reliability if an item is dropped:
##      raw_alpha std.alpha G6(smc) average_r S/N alpha se  var.r med.r
## RPA1      0.80      0.80    0.76      0.50 4.0   0.0111 0.0061  0.48
## RPA2      0.79      0.79    0.75      0.48 3.7   0.0118 0.0075  0.44
## RPA3      0.80      0.80    0.78      0.50 3.9   0.0112 0.0187  0.44
## RPA4      0.83      0.83    0.81      0.55 4.8   0.0095 0.0194  0.53
## RPA5      0.85      0.85    0.83      0.58 5.6   0.0084 0.0127  0.59
## 
##  Item statistics 
##        n raw.r std.r r.cor r.drop mean   sd
## RPA1 873  0.83  0.82  0.79   0.70  3.9 0.83
## RPA2 873  0.85  0.85  0.83   0.75  3.9 0.81
## RPA3 873  0.82  0.82  0.77   0.71  3.9 0.79
## RPA4 873  0.74  0.75  0.64   0.59  3.9 0.77
## RPA5 873  0.69  0.69  0.55   0.52  3.8 0.79
## 
## Non missing response frequency for each item
##         1    2    3    4    5 miss
## RPA1 0.01 0.02 0.24 0.46 0.26    0
## RPA2 0.01 0.03 0.20 0.53 0.23    0
## RPA3 0.01 0.03 0.24 0.52 0.20    0
## RPA4 0.00 0.04 0.23 0.54 0.19    0
## RPA5 0.01 0.03 0.26 0.52 0.18    0

Modeling SEM

model_sem <- '
  # Measurement Model
  TSC =~ TSC1 + TSC2 + TSC3 + TSC4 + TSC5
  TE  =~ TE1 + TE2 + TE3 + TE5
  EE  =~ EE1 + EE2 + EE3 + EE4
  DE  =~ DE1 + DE2 + DE3
  RPA =~ RPA1 + RPA2 + RPA3 + RPA4

  # Structural Model
  TE  ~ TSC
  EE  ~ TSC + TE
  DE  ~ TSC + TE
  RPA ~ TSC + TE
'

# Estimasi model SEM
fit_sem <- sem(model_sem, data = numeric_data, estimator = "MLR")

# Ringkasan hasil SEM
summary(fit_sem, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-19 ended normally after 60 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        50
## 
##   Number of observations                           873
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                               594.150     540.628
##   Degrees of freedom                               160         160
##   P-value (Chi-square)                           0.000       0.000
##   Scaling correction factor                                  1.099
##     Yuan-Bentler correction (Mplus variant)                       
## 
## Model Test Baseline Model:
## 
##   Test statistic                              8328.798    7296.934
##   Degrees of freedom                               190         190
##   P-value                                        0.000       0.000
##   Scaling correction factor                                  1.141
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.947       0.946
##   Tucker-Lewis Index (TLI)                       0.937       0.936
##                                                                   
##   Robust Comparative Fit Index (CFI)                         0.948
##   Robust Tucker-Lewis Index (TLI)                            0.939
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -15392.920  -15392.920
##   Scaling correction factor                                  1.276
##       for the MLR correction                                      
##   Loglikelihood unrestricted model (H1)     -15095.845  -15095.845
##   Scaling correction factor                                  1.141
##       for the MLR correction                                      
##                                                                   
##   Akaike (AIC)                               30885.841   30885.841
##   Bayesian (BIC)                             31124.437   31124.437
##   Sample-size adjusted Bayesian (SABIC)      30965.649   30965.649
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.056       0.052
##   90 Percent confidence interval - lower         0.051       0.048
##   90 Percent confidence interval - upper         0.061       0.057
##   P-value H_0: RMSEA <= 0.050                    0.024       0.211
##   P-value H_0: RMSEA >= 0.080                    0.000       0.000
##                                                                   
##   Robust RMSEA                                               0.055
##   90 Percent confidence interval - lower                     0.050
##   90 Percent confidence interval - upper                     0.060
##   P-value H_0: Robust RMSEA <= 0.050                         0.061
##   P-value H_0: Robust RMSEA >= 0.080                         0.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.039       0.039
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   TSC =~                                                                
##     TSC1              1.000                               0.454    0.662
##     TSC2              0.985    0.047   20.977    0.000    0.447    0.700
##     TSC3              0.935    0.053   17.780    0.000    0.424    0.665
##     TSC4              0.922    0.057   16.049    0.000    0.419    0.621
##     TSC5              1.021    0.048   21.191    0.000    0.463    0.711
##   TE =~                                                                 
##     TE1               1.000                               0.527    0.739
##     TE2               1.007    0.044   22.781    0.000    0.530    0.759
##     TE3               1.077    0.045   23.762    0.000    0.567    0.803
##     TE5               0.950    0.051   18.529    0.000    0.500    0.663
##   EE =~                                                                 
##     EE1               1.000                               0.565    0.743
##     EE2               1.197    0.048   24.793    0.000    0.676    0.797
##     EE3               1.147    0.055   21.035    0.000    0.648    0.782
##     EE4               1.104    0.052   21.169    0.000    0.623    0.783
##   DE =~                                                                 
##     DE1               1.000                               0.453    0.670
##     DE2               0.981    0.069   14.155    0.000    0.445    0.653
##     DE3               1.147    0.099   11.570    0.000    0.520    0.745
##   RPA =~                                                                
##     RPA1              1.000                               0.710    0.851
##     RPA2              0.977    0.029   33.627    0.000    0.694    0.861
##     RPA3              0.824    0.048   17.025    0.000    0.585    0.742
##     RPA4              0.650    0.051   12.750    0.000    0.462    0.603
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   TE ~                                                                  
##     TSC               0.772    0.060   12.910    0.000    0.665    0.665
##   EE ~                                                                  
##     TSC               0.669    0.073    9.165    0.000    0.538    0.538
##     TE                0.364    0.060    6.026    0.000    0.339    0.339
##   DE ~                                                                  
##     TSC               0.417    0.064    6.561    0.000    0.418    0.418
##     TE                0.221    0.054    4.111    0.000    0.257    0.257
##   RPA ~                                                                 
##     TSC               0.646    0.080    8.083    0.000    0.413    0.413
##     TE                0.482    0.069    6.954    0.000    0.357    0.357
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##  .EE ~~                                                                 
##    .DE               -0.009    0.008   -1.112    0.266   -0.076   -0.076
##    .RPA               0.050    0.010    4.880    0.000    0.293    0.293
##  .DE ~~                                                                 
##    .RPA              -0.022    0.010   -2.209    0.027   -0.123   -0.123
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .TSC1              0.264    0.017   15.185    0.000    0.264    0.562
##    .TSC2              0.208    0.014   15.205    0.000    0.208    0.509
##    .TSC3              0.227    0.012   18.469    0.000    0.227    0.558
##    .TSC4              0.279    0.016   17.179    0.000    0.279    0.614
##    .TSC5              0.210    0.012   16.862    0.000    0.210    0.495
##    .TE1               0.230    0.015   15.425    0.000    0.230    0.453
##    .TE2               0.207    0.014   15.121    0.000    0.207    0.424
##    .TE3               0.177    0.013   13.569    0.000    0.177    0.355
##    .TE5               0.320    0.021   15.450    0.000    0.320    0.561
##    .EE1               0.258    0.019   13.743    0.000    0.258    0.448
##    .EE2               0.262    0.020   12.979    0.000    0.262    0.365
##    .EE3               0.266    0.019   13.969    0.000    0.266    0.388
##    .EE4               0.246    0.019   12.713    0.000    0.246    0.388
##    .DE1               0.253    0.017   14.461    0.000    0.253    0.552
##    .DE2               0.266    0.015   17.390    0.000    0.266    0.573
##    .DE3               0.217    0.022    9.841    0.000    0.217    0.445
##    .RPA1              0.192    0.016   11.798    0.000    0.192    0.276
##    .RPA2              0.168    0.016   10.802    0.000    0.168    0.259
##    .RPA3              0.279    0.031    8.951    0.000    0.279    0.449
##    .RPA4              0.373    0.031   11.840    0.000    0.373    0.636
##     TSC               0.206    0.019   10.971    0.000    1.000    1.000
##    .TE                0.155    0.016    9.439    0.000    0.557    0.557
##    .EE                0.113    0.013    9.002    0.000    0.353    0.353
##    .DE                0.127    0.019    6.509    0.000    0.617    0.617
##    .RPA               0.255    0.028    9.190    0.000    0.505    0.505
semPaths(
  fit_sem,
  what = "std",          
  layout = "spring",     
  edge.label.cex = 0.9,  
  sizeMan = 4,           
  sizeLat = 5,          
  nCharNodes = 0,        
  residuals = FALSE,     
  optimizeLatRes = TRUE, 
  edge.color = "black",
  asize = 3
)