Preliminaries

Upload Data and Load Psych Package

# Download data and Store in data1
data1 <- read.csv(url("https://www.dropbox.com/s/ypygopkc9dzwhn6/data1.csv?dl=1"), header = TRUE)

# Remove first column and store in efaData
efaData <- data1[,2:29]

# Load Packages
library(psych)
library(lavaan)
library(semTools)
library(semPlot)

Exploratory Factor Analysis Result

An exploratory factor analysis (EFA) was conducted to identify underlying factors among the survey responses. Prior to EFA, initial analyses will be performed to assess if the dataset is suited for an exploratory factor analysis. Kaiser-Meyer-Olkin measure of sampling adequacy was used to measure how suited the data is for factor analysis. This test aims to measure the adequacy of the data for factor analysis with an acceptable value of at least 0.60 (Kaiser and Rice, 1974). Bartlett’s Test of Sphericity was used to test the hypothesis that the correlation matrix is an identity matrix (Snedecor and Cochran, 1980). Once the dataset is established to be suited for the analysis, an exploratory factor analysis will be performed. An exploratory factor analysis is a statistical technique that analyze patterns of linear relationship that aims to identify empirically distinct or unobserved constructs (Sakaluk and Short, 2016).


KMO and Bartlett’s Test of Sphericity

Initially, the factorability of the survey questionnaire was examined using Kaiser-Meyer-Olkin (KMO) measure of sampling adequacy, and Bartlett’s test of Sphericity. The KMO measure of sampling adequacy is 0.99 which is considered marvelous. Moreover, Bartlett’s test of sphericity was significant \(\chi^2(378) = 129017, p < 0.001)\). Given all these indicators, factor analysis is deemed to be appropriate for the survey items.

Kaiser-Meyer-Olkins Test

KMO(efaData)
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = efaData)
## Overall MSA =  0.99
## MSA for each item = 
##  JST_1  JST_2  JST_3  JST_4  JST_5  JST_6  JST_7  JST_8  JST_9 JST_10   OS_1 
##   0.99   0.99   0.99   0.99   0.99   0.99   0.99   0.99   0.98   0.97   0.99 
##   OS_2   OS_3   OS_4   OS_5  JSA_1  JSA_2  JSA_3  JSA_4  JSA_5  JSA_6  JSA_7 
##   0.99   0.99   0.99   0.98   0.98   0.98   0.99   0.99   0.98   0.99   0.99 
##  JSA_8  JSA_9 JSA_10 JSA_11 JSA_12 JSA_13 
##   0.98   0.99   0.98   0.99   0.98   0.99

Bartlett’s Test of Sphericity

cortest(efaData)
## Tests of correlation matrices 
## Call:cortest(R1 = efaData)
##  Chi Square value 129017  with df =  378   with probability < 0

Exploratory Factor Analysis

EFA was run iteratively to achieve a simple factor structure where every statements has a primary factor loading of at least 0.50 with no cross-loading among factors. Items that did not meet these criteria were removed. The following results illustrate the entire process undertaken by the researchers to achieve a simple 4-factor structure using the items included in the survey.

Iteration1

# Show factor loadings
efaDataFinal <- efaData[,-c(6)]
print(
    fa(efaDataFinal,
       nfactors = 3,
       rotate = "promax",             
       scores = "regression",           
       fm = "ml"                       
    )$loadings,
    digits = 3, cutoff = 0.40, sort = FALSE)
## 
## Loadings:
##        ML1    ML2    ML3   
## JST_1  -0.718              
## JST_2  -0.655              
## JST_3  -0.599              
## JST_4  -0.741              
## JST_5  -0.734              
## JST_7  -0.498              
## JST_8  -0.575              
## JST_9  -0.414 -0.440       
## JST_10        -0.814       
## OS_1    0.447              
## OS_2           0.764       
## OS_3    0.403              
## OS_4                       
## OS_5                  0.568
## JSA_1          0.798       
## JSA_2          0.565  0.407
## JSA_3   0.508              
## JSA_4          0.607       
## JSA_5   0.475  0.583       
## JSA_6   0.412         0.471
## JSA_7   0.577         0.460
## JSA_8   0.463         0.550
## JSA_9          0.561  0.416
## JSA_10                0.577
## JSA_11         0.489       
## JSA_12                0.735
## JSA_13         0.673       
## 
##                  ML1   ML2   ML3
## SS loadings    5.243 5.154 2.908
## Proportion Var 0.194 0.191 0.108
## Cumulative Var 0.194 0.385 0.493

Initially, JST_6 is removed as per recommendation. Cut-off is set to 0.40 to help researchers identify which item should be removed based on their factor loadings. The result shows no cross-loading (items with factor loadings of at least 0.50 in two or more factors) but some items have factor loading that is less than 0.5. From among these items, OS_4 has the lowest. Hence, it is removed.

Iteration2

# Show factor loadings
efaDataFinal <- efaData[,-c(6,14)]
print(
    fa(efaDataFinal,
       nfactors = 3,
       rotate = "promax",             
       scores = "regression",           
       fm = "ml"                       
    )$loadings,
    digits = 3, cutoff = 0.40, sort = FALSE)
## 
## Loadings:
##        ML1    ML2    ML3   
## JST_1   0.721              
## JST_2   0.658              
## JST_3   0.600              
## JST_4   0.741              
## JST_5   0.736              
## JST_7   0.500              
## JST_8   0.578              
## JST_9   0.415 -0.440       
## JST_10        -0.811       
## OS_1   -0.450              
## OS_2           0.764       
## OS_3   -0.407              
## OS_5                  0.565
## JSA_1          0.797       
## JSA_2          0.565  0.405
## JSA_3  -0.510              
## JSA_4          0.609       
## JSA_5  -0.475  0.583       
## JSA_6  -0.413         0.469
## JSA_7  -0.581         0.454
## JSA_8  -0.470         0.541
## JSA_9          0.561  0.413
## JSA_10                0.572
## JSA_11         0.488       
## JSA_12                0.727
## JSA_13         0.669       
## 
##                  ML1   ML2   ML3
## SS loadings    5.182 5.018 2.756
## Proportion Var 0.199 0.193 0.106
## Cumulative Var 0.199 0.392 0.498

After removing OS_4, the second iteration of EFA was conducted. Still, cross-loading is not observed but some items have factor loading that is less than 0.5. From among the items, OS_3 has the lowest. Thus, it is removed.

Iteration3

# Show factor loadings
efaDataFinal <- efaData[,-c(6,14,13)]
print(
    fa(efaDataFinal,
       nfactors = 3,
       rotate = "promax",             
       scores = "regression",           
       fm = "ml"                       
    )$loadings,
    digits = 3, cutoff = 0.40, sort = FALSE)
## 
## Loadings:
##        ML1    ML2    ML3   
## JST_1   0.721              
## JST_2   0.658              
## JST_3   0.598              
## JST_4   0.740              
## JST_5   0.734              
## JST_7   0.499              
## JST_8   0.576              
## JST_9   0.414 -0.443       
## JST_10        -0.811       
## OS_1   -0.451              
## OS_2           0.765       
## OS_5                  0.561
## JSA_1          0.798       
## JSA_2          0.566  0.404
## JSA_3  -0.509              
## JSA_4          0.610       
## JSA_5  -0.473  0.584       
## JSA_6  -0.416         0.467
## JSA_7  -0.583         0.450
## JSA_8  -0.473         0.537
## JSA_9          0.562  0.412
## JSA_10                0.567
## JSA_11         0.489       
## JSA_12                0.720
## JSA_13         0.671       
## 
##                  ML1   ML2   ML3
## SS loadings    5.013 4.958 2.618
## Proportion Var 0.201 0.198 0.105
## Cumulative Var 0.201 0.399 0.504

After removing OS_3, the third iteration of EFA was conducted. Similar to the previous result, cross-loading is not observed but some items have factor loading score of less than 0.5. From among the items, JST_9 has the lowest. Thus, it is removed.

Iteration4

# Show factor loadings
efaDataFinal <- efaData[,-c(6,14,13,9)]
print(
    fa(efaDataFinal,
       nfactors = 3,
       rotate = "promax",             
       scores = "regression",           
       fm = "ml"                       
    )$loadings,
    digits = 3, cutoff = 0.40, sort = FALSE)
## 
## Loadings:
##        ML1    ML2    ML3   
## JST_1   0.725              
## JST_2   0.663              
## JST_3   0.599              
## JST_4   0.746              
## JST_5   0.738              
## JST_7   0.497              
## JST_8   0.575              
## JST_10        -0.808       
## OS_1   -0.454              
## OS_2           0.765       
## OS_5                  0.561
## JSA_1          0.797       
## JSA_2          0.565  0.401
## JSA_3  -0.512              
## JSA_4          0.608       
## JSA_5  -0.474  0.584       
## JSA_6  -0.423         0.457
## JSA_7  -0.588         0.443
## JSA_8  -0.478         0.529
## JSA_9          0.562  0.408
## JSA_10                0.572
## JSA_11         0.491       
## JSA_12                0.723
## JSA_13         0.672       
## 
##                  ML1   ML2   ML3
## SS loadings    4.897 4.751 2.567
## Proportion Var 0.204 0.198 0.107
## Cumulative Var 0.204 0.402 0.509

After removing JST_9, the fourth iteration of EFA was conducted. Still, cross-loading is not observed but some items have factor loading score of less than 0.5. From among the items, OS_1 has the lowest. Hence, it is removed.

Iteration5

# Show factor loadings
efaDataFinal <- efaData[,-c(6,14,13,9,11)]
print(
    fa(efaDataFinal,
       nfactors = 3,
       rotate = "promax",             
       scores = "regression",           
       fm = "ml"                       
    )$loadings,
    digits = 3, cutoff = 0.40, sort = FALSE)
## 
## Loadings:
##        ML1    ML2    ML3   
## JST_1   0.715              
## JST_2   0.658              
## JST_3   0.596              
## JST_4   0.742              
## JST_5   0.738              
## JST_7   0.492              
## JST_8   0.570              
## JST_10        -0.808       
## OS_2           0.763       
## OS_5                  0.562
## JSA_1          0.799       
## JSA_2          0.564  0.402
## JSA_3  -0.508              
## JSA_4          0.609       
## JSA_5  -0.470  0.584       
## JSA_6  -0.419         0.460
## JSA_7  -0.581         0.447
## JSA_8  -0.471         0.534
## JSA_9          0.562  0.409
## JSA_10                0.574
## JSA_11         0.491       
## JSA_12                0.727
## JSA_13         0.673       
## 
##                  ML1   ML2   ML3
## SS loadings    4.615 4.641 2.556
## Proportion Var 0.201 0.202 0.111
## Cumulative Var 0.201 0.402 0.514

After removing OS_1, the fifth iteration of EFA was done. Still, cross-loading is not observed but some items have factor loading score of less than 0.5. From among the items, JSA_6 has the lowest. Hence, it is removed.

Iteration6

# Show factor loadings
efaDataFinal <- efaData[,-c(6,14,13,9,11,21)]
print(
    fa(efaDataFinal,
       nfactors = 3,
       rotate = "promax",             
       scores = "regression",           
       fm = "ml"                       
    )$loadings,
    digits = 2, cutoff = 0.50, sort = FALSE)
## 
## Loadings:
##        ML1   ML2   ML3  
## JST_1   0.72            
## JST_2   0.67            
## JST_3   0.60            
## JST_4   0.75            
## JST_5   0.75            
## JST_7                   
## JST_8   0.58            
## JST_10       -0.81      
## OS_2          0.77      
## OS_5                0.54
## JSA_1         0.81      
## JSA_2         0.58      
## JSA_3  -0.52            
## JSA_4         0.61      
## JSA_5         0.58      
## JSA_7  -0.59            
## JSA_8               0.53
## JSA_9         0.57      
## JSA_10              0.57
## JSA_11                  
## JSA_12              0.71
## JSA_13        0.67      
## 
##                 ML1  ML2  ML3
## SS loadings    4.58 4.65 2.22
## Proportion Var 0.21 0.21 0.10
## Cumulative Var 0.21 0.42 0.52

After removing JSA_6, the sixth iteration of EFA was done setting the cutoff value to 0.50. Still, cross-loading is no longer observed but JSA_11 has a factor loading of less than 0.50. Thus, it is removed.

Iteration7

# Show factor loadings
efaDataFinal <- efaData[,-c(6,14,13,9,11,21,26)]
print(
    fa(efaDataFinal,
       nfactors = 3,
       rotate = "promax",             
       scores = "regression",           
       fm = "ml"                       
    )$loadings,
    digits = 2, cutoff = 0.50, sort = FALSE)
## 
## Loadings:
##        ML1   ML2   ML3  
## JST_1   0.72            
## JST_2   0.67            
## JST_3   0.61            
## JST_4   0.75            
## JST_5   0.75            
## JST_7                   
## JST_8   0.58            
## JST_10       -0.81      
## OS_2          0.76      
## OS_5                0.54
## JSA_1         0.80      
## JSA_2         0.58      
## JSA_3  -0.52            
## JSA_4         0.60      
## JSA_5         0.57      
## JSA_7  -0.59            
## JSA_8               0.53
## JSA_9         0.56      
## JSA_10              0.57
## JSA_12              0.71
## JSA_13        0.65      
## 
##                 ML1  ML2  ML3
## SS loadings    4.54 4.33 2.16
## Proportion Var 0.22 0.21 0.10
## Cumulative Var 0.22 0.42 0.53

After removing JSA_11, the seventh iteration of EFA was done setting the cutoff value to 0.50. Still, cross-loading is not observed but JSA_7 has a factor loading of less than 0.50. Thus, it is removed.

Iteration8

# Show factor loadings
efaDataFinal <- efaData[,-c(6,14,13,9,11,21,26,7)]
print(
    fa(efaDataFinal,
       nfactors = 3,
       rotate = "promax",             
       scores = "regression",           
       fm = "ml"                       
    )$loadings,
    digits = 2, cutoff = 0.50, sort = TRUE)
## 
## Loadings:
##        ML1   ML2   ML3  
## JST_1   0.72            
## JST_2   0.67            
## JST_3   0.60            
## JST_4   0.74            
## JST_5   0.74            
## JST_8   0.56            
## JSA_3  -0.51            
## JSA_7  -0.60            
## JST_10       -0.81      
## OS_2          0.75      
## JSA_1         0.80      
## JSA_2         0.57      
## JSA_4         0.61      
## JSA_5         0.58      
## JSA_9         0.56      
## JSA_13        0.66      
## OS_5                0.54
## JSA_8               0.53
## JSA_10              0.57
## JSA_12              0.71
## 
##                 ML1  ML2  ML3
## SS loadings    4.23 4.25 2.14
## Proportion Var 0.21 0.21 0.11
## Cumulative Var 0.21 0.42 0.53

After removing JSA_7, the eight iteration of EFA was done while arranging the items based on their factor loadings. Similarly, cross-loading is no longer observed and all items has a factor loading of at least 0.50. Thus, a good factor structure is achieved and items are examined to create the final factor model.


Final EFA Model

KMO and Bartlett’s Test

# KMO
KMO(efaDataFinal)
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = efaDataFinal)
## Overall MSA =  0.98
## MSA for each item = 
##  JST_1  JST_2  JST_3  JST_4  JST_5  JST_8 JST_10   OS_2   OS_5  JSA_1  JSA_2 
##   0.98   0.99   0.99   0.98   0.98   0.99   0.97   0.99   0.98   0.98   0.98 
##  JSA_3  JSA_4  JSA_5  JSA_7  JSA_8  JSA_9 JSA_10 JSA_12 JSA_13 
##   0.99   0.98   0.98   0.98   0.98   0.98   0.98   0.97   0.98
# Bartlett's Test
cortest(efaDataFinal)
## Tests of correlation matrices 
## Call:cortest(R1 = efaDataFinal)
##  Chi Square value 63590.54  with df =  190   with probability < 0

The factorability of the survey questionnaire was examined using Kaiser-Meyer-Olkin (KMO) measure of sampling adequacy, and Bartlett’s test of Sphericity. The KMO measure of sampling adequacy is 0.98 which is considered marvelous. Moreover, Bartlett’s test of sphericity was significant \(\chi^2(561) = 63590.54, p < 0.001)\). Given all these indicators, factor analysis is deemed to be appropriate for the survey items.

Final Rotated Component Matrix

# Show factor loadings
efaDataFinal <- efaData[,-c(6,14,13,9,11,21,26,7)]
print(
    fa(efaDataFinal,
       nfactors = 3,
       rotate = "promax",             
       scores = "regression",           
       fm = "ml"                       
    )$loadings,
    digits = 2, cutoff = 0.50, sort = TRUE)
## 
## Loadings:
##        ML1   ML2   ML3  
## JST_1   0.72            
## JST_2   0.67            
## JST_3   0.60            
## JST_4   0.74            
## JST_5   0.74            
## JST_8   0.56            
## JSA_3  -0.51            
## JSA_7  -0.60            
## JST_10       -0.81      
## OS_2          0.75      
## JSA_1         0.80      
## JSA_2         0.57      
## JSA_4         0.61      
## JSA_5         0.58      
## JSA_9         0.56      
## JSA_13        0.66      
## OS_5                0.54
## JSA_8               0.53
## JSA_10              0.57
## JSA_12              0.71
## 
##                 ML1  ML2  ML3
## SS loadings    4.23 4.25 2.14
## Proportion Var 0.21 0.21 0.11
## Cumulative Var 0.21 0.42 0.53

Most of the statements in Job Stress belong to the hypothesized component (except JST_10). However, the hypothesized statements Job Satisfaction and Organizational Support items were broken down into two components while JST_10, OS_2, and OS_5 now belongs to one of these two components while JSA_3 and JSA_7 belong to Job Stress.

Specifically, Component 1 (ML1) includes 5 statements which are JST_1, JST_2, JST_3, JST_4, JST_5, JST_8, JSA_3, and JSA_7. These statements describes the respondents’ feelings of dissatisfaction, stress, and uncertainty within the organization and job roles. Thus, this component will be named as Job stress and will be used to capture their emotions and attitudes related to their work environment and future career prospects. Finally, JSA_3 (The benefits I receive are as good as most other organizations can offer.) and JSA_7 (I am held accountable for the results of my work.) have negative factor loading which suggest that the statement is negatively phrased relative to the other statements that belong to this component.

Moreover, Component 2 (ML2) includes 5 statements which are JST_10, OS_2, JSA_1, JSA_2, JSA_4, JSA_5, JSA_9, and JSA_13. It is important to take note that JSA_10 (My job makes it difficult to fulfill family responsibilities) has a negative factor loading suggesting that the statement is negatively phrased when compared to the other statements that belong to this component. These statements reflect respondents’ perception of their work-life balance, compensation, recognition, and job satisfaction. Thus, this component will be named as Job Satisfaction as it captures the different aspects of their job experience which includes how their roles impact their personal lives and how they feel valued by the company.

Additionally, Component 3 (ML3) includes four statements which are OS_5, JSA_8, JSA_10, and JSA_12. These statements reflect respondents’ perceptions of organizational support, pride in their work, accountability, feedback, and opportunities for career advancement. Hence, this component will be named Organizational Support as it highlights the support and growth potential they perceive within the organization.


Reliability Test

Reliability test using Cronbach \(\alpha\) was conducted after generating the factor structure of the statments using Exploratory Factor Analysis. Cronbach \(\alpha\) tests the reliability of a measurement tool by measuring its internal consistency. For it to be acceptable, all components should have at least 0.70 which indicates strong internal consistency among items within the component.

In summary, all four components has an internal consistency of at least 0.97 suggesting a very strong internal consistency among items within each component. It is important to note, however, that JSA_3, JSA_7, and JST_10 of Components 1 and 2 are reverse coded (that is, scores of 1 are encoded as 5, 2 as 4, 4 as 2, and 5 as 1) to ensure that the tone of these statement are consistent with the other items within this component.

Finally, for each component considered, removing items does not merit an improvement to the internal consistency of each. Removing items may, in turn, decrease the overall internal consistency of the component suggesting that all items considered in each component contribute positively to the overall internal consistency of the component.

Component 1

alpha(efaData[,c(1:5,8,18,22)], check.keys = TRUE)
## Warning in alpha(efaData[, c(1:5, 8, 18, 22)], check.keys = TRUE): Some items were negatively correlated with the first principal component and were automatically reversed.
##  This is indicated by a negative sign for the variable name.
## 
## Reliability analysis   
## Call: alpha(x = efaData[, c(1:5, 8, 18, 22)], check.keys = TRUE)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean  sd median_r
##       0.98      0.98    0.98      0.88  60 0.0017  3.4 1.6     0.88
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.98  0.98  0.99
## Duhachek  0.98  0.98  0.99
## 
##  Reliability if an item is dropped:
##        raw_alpha std.alpha G6(smc) average_r S/N alpha se   var.r med.r
## JST_1       0.98      0.98    0.98      0.88  49   0.0021 0.00027  0.88
## JST_2       0.98      0.98    0.98      0.88  51   0.0020 0.00045  0.88
## JST_3       0.98      0.98    0.98      0.89  55   0.0019 0.00044  0.89
## JST_4       0.98      0.98    0.98      0.88  52   0.0020 0.00050  0.88
## JST_5       0.98      0.98    0.98      0.88  54   0.0019 0.00050  0.88
## JST_8       0.98      0.98    0.98      0.89  56   0.0018 0.00040  0.89
## JSA_3-      0.98      0.98    0.98      0.88  52   0.0020 0.00056  0.88
## JSA_7-      0.98      0.98    0.98      0.88  52   0.0020 0.00040  0.88
## 
##  Item statistics 
##          n raw.r std.r r.cor r.drop mean  sd
## JST_1  210  0.97  0.97  0.97   0.96  3.4 1.7
## JST_2  210  0.96  0.95  0.95   0.94  3.4 1.7
## JST_3  210  0.93  0.93  0.92   0.91  3.4 1.6
## JST_4  210  0.95  0.95  0.95   0.94  3.4 1.6
## JST_5  210  0.94  0.94  0.93   0.92  3.4 1.7
## JST_8  210  0.93  0.93  0.91   0.91  3.4 1.6
## JSA_3- 210  0.95  0.95  0.94   0.93  3.4 1.6
## JSA_7- 210  0.95  0.95  0.94   0.93  3.3 1.7
## 
## Non missing response frequency for each item
##          1    2    3    4    5 miss
## JST_1 0.29 0.06 0.09 0.11 0.45    0
## JST_2 0.25 0.09 0.11 0.14 0.41    0
## JST_3 0.22 0.09 0.14 0.15 0.40    0
## JST_4 0.25 0.08 0.10 0.17 0.40    0
## JST_5 0.27 0.07 0.10 0.16 0.40    0
## JST_8 0.21 0.11 0.12 0.16 0.40    0
## JSA_3 0.43 0.10 0.14 0.10 0.22    0
## JSA_7 0.41 0.11 0.10 0.10 0.27    0

Component 2

alpha(efaData[,c(10,12,16,17,19,20,24,28)], check.keys = TRUE)
## Warning in alpha(efaData[, c(10, 12, 16, 17, 19, 20, 24, 28)], check.keys = TRUE): Some items were negatively correlated with the first principal component and were automatically reversed.
##  This is indicated by a negative sign for the variable name.
## 
## Reliability analysis   
## Call: alpha(x = efaData[, c(10, 12, 16, 17, 19, 20, 24, 28)], check.keys = TRUE)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean  sd median_r
##       0.98      0.98    0.98      0.86  50 0.0021  2.4 1.5     0.86
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.98  0.98  0.98
## Duhachek  0.98  0.98  0.98
## 
##  Reliability if an item is dropped:
##         raw_alpha std.alpha G6(smc) average_r S/N alpha se   var.r med.r
## JST_10-      0.98      0.98    0.98      0.86  44   0.0024 0.00067  0.87
## OS_2         0.98      0.98    0.98      0.86  42   0.0025 0.00065  0.86
## JSA_1        0.98      0.98    0.98      0.86  42   0.0025 0.00061  0.86
## JSA_2        0.98      0.98    0.98      0.87  46   0.0023 0.00022  0.87
## JSA_4        0.98      0.98    0.98      0.86  44   0.0024 0.00062  0.86
## JSA_5        0.98      0.98    0.98      0.86  43   0.0025 0.00063  0.86
## JSA_9        0.98      0.98    0.98      0.86  42   0.0025 0.00061  0.86
## JSA_13       0.98      0.98    0.98      0.87  45   0.0023 0.00042  0.87
## 
##  Item statistics 
##           n raw.r std.r r.cor r.drop mean  sd
## JST_10- 210  0.93  0.94  0.92   0.91  2.4 1.6
## OS_2    210  0.95  0.95  0.94   0.93  2.4 1.5
## JSA_1   210  0.95  0.95  0.94   0.93  2.4 1.5
## JSA_2   210  0.92  0.92  0.91   0.89  2.5 1.6
## JSA_4   210  0.94  0.94  0.92   0.92  2.4 1.6
## JSA_5   210  0.94  0.94  0.94   0.93  2.5 1.6
## JSA_9   210  0.95  0.95  0.94   0.93  2.5 1.6
## JSA_13  210  0.93  0.93  0.91   0.90  2.5 1.7
## 
## Non missing response frequency for each item
##           1    2    3    4    5 miss
## JST_10 0.21 0.05 0.09 0.20 0.44    0
## OS_2   0.41 0.21 0.11 0.08 0.19    0
## JSA_1  0.40 0.20 0.14 0.04 0.21    0
## JSA_2  0.41 0.17 0.13 0.08 0.20    0
## JSA_4  0.45 0.13 0.16 0.05 0.21    0
## JSA_5  0.43 0.14 0.15 0.08 0.20    0
## JSA_9  0.43 0.13 0.16 0.06 0.21    0
## JSA_13 0.50 0.09 0.09 0.08 0.24    0

Component 3

alpha(efaData[,c(15,23,25,27)], check.keys = TRUE)
## 
## Reliability analysis   
## Call: alpha(x = efaData[, c(15, 23, 25, 27)], check.keys = TRUE)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean  sd median_r
##       0.97      0.97    0.96       0.9  35 0.0031  2.6 1.6      0.9
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.97  0.97  0.98
## Duhachek  0.97  0.97  0.98
## 
##  Reliability if an item is dropped:
##        raw_alpha std.alpha G6(smc) average_r S/N alpha se   var.r med.r
## OS_5        0.96      0.96    0.95      0.90  26   0.0045 2.5e-04  0.90
## JSA_8       0.97      0.97    0.95      0.90  28   0.0041 1.3e-04  0.90
## JSA_10      0.97      0.97    0.95      0.90  28   0.0041 3.2e-04  0.91
## JSA_12      0.96      0.96    0.94      0.89  24   0.0049 8.6e-05  0.88
## 
##  Item statistics 
##          n raw.r std.r r.cor r.drop mean  sd
## OS_5   210  0.96  0.96  0.95   0.93  2.5 1.7
## JSA_8  210  0.96  0.96  0.94   0.92  2.7 1.7
## JSA_10 210  0.95  0.96  0.93   0.92  2.5 1.6
## JSA_12 210  0.97  0.97  0.96   0.94  2.7 1.7
## 
## Non missing response frequency for each item
##           1    2    3    4    5 miss
## OS_5   0.47 0.09 0.12 0.08 0.24    0
## JSA_8  0.42 0.10 0.10 0.10 0.28    0
## JSA_10 0.46 0.10 0.12 0.13 0.19    0
## JSA_12 0.43 0.11 0.09 0.08 0.29    0

Structural Equation Modeling Result

Testing Model Fit without Interaction

# Store Data for SEM
semData <- data1[,2:38]
testModel <- '
  # measurement model
    jobStress               =~ JST_1 + JST_2 + JST_3 + JST_4 + JST_5 + JST_8 + JSA_3_N + JSA_7_N
    jobSatisfaction         =~ JST_10_N + OS_2 + JSA_1 + JSA_2 + JSA_4 + JSA_5 + JSA_13
    organizationalSupport   =~ OS_5 + JSA_8 + JSA_10 + JSA_12
    turnoverIntention       =~ TI_1 + TI_2 + TI_3 + TI_4 + TI_5 + TI_6
'


testFit <- cfa(testModel, data = semData, estimator = "MLM")
summary(testFit, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-19 ended normally after 90 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        56
## 
##   Number of observations                           210
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                               763.190     483.506
##   Degrees of freedom                               269         269
##   P-value (Chi-square)                           0.000       0.000
##   Scaling correction factor                                  1.578
##     Satorra-Bentler correction                                    
## 
## Model Test Baseline Model:
## 
##   Test statistic                             10181.810   15095.149
##   Degrees of freedom                               300         300
##   P-value                                        0.000       0.000
##   Scaling correction factor                                  0.675
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.950       0.986
##   Tucker-Lewis Index (TLI)                       0.944       0.984
##                                                                   
##   Robust Comparative Fit Index (CFI)                         0.966
##   Robust Tucker-Lewis Index (TLI)                            0.962
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -5293.433   -5293.433
##   Loglikelihood unrestricted model (H1)      -4911.838   -4911.838
##                                                                   
##   Akaike (AIC)                               10698.866   10698.866
##   Bayesian (BIC)                             10886.304   10886.304
##   Sample-size adjusted Bayesian (SABIC)      10708.864   10708.864
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.094       0.062
##   90 Percent confidence interval - lower         0.086       0.055
##   90 Percent confidence interval - upper         0.101       0.069
##   P-value H_0: RMSEA <= 0.050                    0.000       0.004
##   P-value H_0: RMSEA >= 0.080                    0.998       0.000
##                                                                   
##   Robust RMSEA                                               0.077
##   90 Percent confidence interval - lower                     0.066
##   90 Percent confidence interval - upper                     0.088
##   P-value H_0: Robust RMSEA <= 0.050                         0.000
##   P-value H_0: Robust RMSEA >= 0.080                         0.359
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.026       0.026
## 
## Parameter Estimates:
## 
##   Standard errors                           Robust.sem
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                            Estimate  Std.Err  z-value  P(>|z|)   Std.lv
##   jobStress =~                                                         
##     JST_1                     1.000                               1.676
##     JST_2                     0.934    0.025   37.779    0.000    1.566
##     JST_3                     0.876    0.029   30.379    0.000    1.468
##     JST_4                     0.925    0.022   42.667    0.000    1.551
##     JST_5                     0.927    0.026   35.625    0.000    1.554
##     JST_8                     0.870    0.029   29.958    0.000    1.458
##     JSA_3_N                   0.915    0.023   39.065    0.000    1.533
##     JSA_7_N                   0.958    0.021   46.189    0.000    1.605
##   jobSatisfaction =~                                                   
##     JST_10_N                  1.000                               1.465
##     OS_2                      0.976    0.029   33.328    0.000    1.430
##     JSA_1                     0.987    0.027   36.287    0.000    1.445
##     JSA_2                     0.970    0.029   32.982    0.000    1.420
##     JSA_4                     1.007    0.032   31.306    0.000    1.474
##     JSA_5                     1.004    0.031   32.785    0.000    1.470
##     JSA_13                    1.052    0.031   33.927    0.000    1.541
##   organizationalSupport =~                                             
##     OS_5                      1.000                               1.599
##     JSA_8                     1.005    0.029   34.190    0.000    1.608
##     JSA_10                    0.941    0.029   32.717    0.000    1.505
##     JSA_12                    1.031    0.026   40.161    0.000    1.649
##   turnoverIntention =~                                                 
##     TI_1                      1.000                               1.544
##     TI_2                      0.962    0.036   26.725    0.000    1.485
##     TI_3                      1.011    0.035   29.140    0.000    1.561
##     TI_4                      0.984    0.038   26.159    0.000    1.518
##     TI_5                      0.986    0.035   28.202    0.000    1.523
##     TI_6                      0.980    0.036   27.448    0.000    1.513
##   Std.all
##          
##     0.967
##     0.951
##     0.920
##     0.943
##     0.928
##     0.914
##     0.943
##     0.949
##          
##     0.926
##     0.933
##     0.935
##     0.904
##     0.930
##     0.942
##     0.915
##          
##     0.954
##     0.939
##     0.943
##     0.955
##          
##     0.922
##     0.952
##     0.953
##     0.944
##     0.943
##     0.942
## 
## Covariances:
##                            Estimate  Std.Err  z-value  P(>|z|)   Std.lv
##   jobStress ~~                                                         
##     jobSatisfactin           -2.321    0.159  -14.622    0.000   -0.946
##     organztnlSpprt           -2.581    0.140  -18.461    0.000   -0.963
##     turnoverIntntn            2.404    0.161   14.967    0.000    0.929
##   jobSatisfaction ~~                                                   
##     organztnlSpprt            2.189    0.165   13.236    0.000    0.935
##     turnoverIntntn           -2.101    0.171  -12.311    0.000   -0.929
##   organizationalSupport ~~                                             
##     turnoverIntntn           -2.408    0.148  -16.228    0.000   -0.976
##   Std.all
##          
##    -0.946
##    -0.963
##     0.929
##          
##     0.935
##    -0.929
##          
##    -0.976
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .JST_1             0.196    0.036    5.439    0.000    0.196    0.065
##    .JST_2             0.260    0.054    4.832    0.000    0.260    0.096
##    .JST_3             0.393    0.063    6.247    0.000    0.393    0.154
##    .JST_4             0.299    0.044    6.739    0.000    0.299    0.111
##    .JST_5             0.389    0.071    5.457    0.000    0.389    0.139
##    .JST_8             0.419    0.064    6.526    0.000    0.419    0.164
##    .JSA_3_N           0.293    0.050    5.879    0.000    0.293    0.111
##    .JSA_7_N           0.282    0.046    6.117    0.000    0.282    0.099
##    .JST_10_N          0.359    0.055    6.496    0.000    0.359    0.143
##    .OS_2              0.303    0.058    5.263    0.000    0.303    0.129
##    .JSA_1             0.301    0.048    6.293    0.000    0.301    0.126
##    .JSA_2             0.452    0.070    6.436    0.000    0.452    0.183
##    .JSA_4             0.340    0.056    6.045    0.000    0.340    0.135
##    .JSA_5             0.276    0.045    6.089    0.000    0.276    0.113
##    .JSA_13            0.462    0.102    4.534    0.000    0.462    0.163
##    .OS_5              0.254    0.046    5.475    0.000    0.254    0.090
##    .JSA_8             0.347    0.056    6.203    0.000    0.347    0.118
##    .JSA_10            0.281    0.048    5.860    0.000    0.281    0.110
##    .JSA_12            0.261    0.038    6.858    0.000    0.261    0.088
##    .TI_1              0.422    0.099    4.243    0.000    0.422    0.150
##    .TI_2              0.227    0.038    5.960    0.000    0.227    0.093
##    .TI_3              0.249    0.048    5.158    0.000    0.249    0.093
##    .TI_4              0.283    0.049    5.812    0.000    0.283    0.109
##    .TI_5              0.291    0.055    5.284    0.000    0.291    0.112
##    .TI_6              0.291    0.048    6.088    0.000    0.291    0.113
##     jobStress         2.809    0.142   19.753    0.000    1.000    1.000
##     jobSatisfactin    2.145    0.186   11.559    0.000    1.000    1.000
##     organztnlSpprt    2.556    0.159   16.081    0.000    1.000    1.000
##     turnoverIntntn    2.383    0.174   13.712    0.000    1.000    1.000
modifIndices <- modificationindices(testFit)
modifIndices[modifIndices$mi>10,]
##                       lhs op     rhs     mi    epc sepc.lv sepc.all sepc.nox
## 63              jobStress =~   JSA_1 11.238  0.302   0.506    0.327    0.327
## 66              jobStress =~   JSA_5 16.317 -0.354  -0.594   -0.380   -0.380
## 69              jobStress =~   JSA_8 18.951 -0.540  -0.906   -0.529   -0.529
## 72              jobStress =~    TI_1 59.866  0.671   1.125    0.672    0.672
## 80        jobSatisfaction =~   JST_3 10.549 -0.359  -0.526   -0.330   -0.330
## 84        jobSatisfaction =~ JSA_3_N 18.562 -0.423  -0.619   -0.381   -0.381
## 86        jobSatisfaction =~    OS_5 12.678  0.334   0.489    0.292    0.292
## 89        jobSatisfaction =~  JSA_12 18.816 -0.415  -0.608   -0.352   -0.352
## 90        jobSatisfaction =~    TI_1 17.286 -0.418  -0.612   -0.366   -0.366
## 103 organizationalSupport =~ JSA_7_N 19.668 -0.495  -0.792   -0.468   -0.468
## 107 organizationalSupport =~   JSA_2 29.961  0.554   0.886    0.564    0.564
## 111 organizationalSupport =~    TI_1 31.134 -1.030  -1.646   -0.983   -0.983
## 128     turnoverIntention =~   JSA_2 46.528 -0.669  -1.033   -0.658   -0.658
## 130     turnoverIntention =~   JSA_5 14.647  0.311   0.480    0.307    0.307
## 133     turnoverIntention =~   JSA_8 21.743  0.864   1.333    0.779    0.779
## 134     turnoverIntention =~  JSA_10 16.636 -0.689  -1.064   -0.667   -0.667
## 151                 JST_1 ~~   JSA_8 12.754 -0.076  -0.076   -0.290   -0.290
## 154                 JST_1 ~~    TI_1 10.345  0.074   0.074    0.256    0.256
## 187                 JST_3 ~~ JSA_7_N 10.381 -0.083  -0.083   -0.249   -0.249
## 199                 JST_3 ~~    TI_1 11.947  0.105   0.105    0.259    0.259
## 282               JSA_3_N ~~    TI_6 13.559  0.083   0.083    0.286    0.286
## 293               JSA_7_N ~~  JSA_12 21.583 -0.101  -0.101   -0.373   -0.373
## 306              JST_10_N ~~    OS_5 17.028  0.099   0.099    0.329    0.329
## 307              JST_10_N ~~   JSA_8 30.439 -0.152  -0.152   -0.430   -0.430
## 339                 JSA_1 ~~    TI_1 11.710  0.094   0.094    0.265    0.265
## 347                 JSA_2 ~~  JSA_13 12.278 -0.124  -0.124   -0.270   -0.270
## 373                 JSA_5 ~~  JSA_10 13.682 -0.082  -0.082   -0.295   -0.295
## 375                 JSA_5 ~~    TI_1 12.110 -0.093  -0.093   -0.272   -0.272
## 378                 JSA_5 ~~    TI_4 16.254  0.090   0.090    0.322    0.322
## 402                 JSA_8 ~~    TI_1 13.477 -0.108  -0.108   -0.283   -0.283

Structural Model

testModel2 <- ' 
  # Loadings
    jobStress               =~ JST_1 + JST_2 + JST_3 + JST_4 + JST_5 + JST_8 + JSA_3_N + JSA_7_N
    jobSatisfaction         =~ JST_10_N + OS_2 + JSA_1 + JSA_2 + JSA_4 + JSA_5 + JSA_13
    organizationalSupport   =~ OS_5 + JSA_8 + JSA_10 + JSA_12
    turnoverIntention       =~ TI_1 + TI_2 + TI_3 + TI_4 + TI_5 + TI_6
    
  # regression
    turnoverIntention ~ jobStress + jobSatisfaction + organizationalSupport
'

testFit2 <- sem(testModel2, data = semData, estimator = "MLM")
summary(testFit2, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-19 ended normally after 84 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        56
## 
##   Number of observations                           210
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                               763.190     483.506
##   Degrees of freedom                               269         269
##   P-value (Chi-square)                           0.000       0.000
##   Scaling correction factor                                  1.578
##     Satorra-Bentler correction                                    
## 
## Model Test Baseline Model:
## 
##   Test statistic                             10181.810   15095.149
##   Degrees of freedom                               300         300
##   P-value                                        0.000       0.000
##   Scaling correction factor                                  0.675
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.950       0.986
##   Tucker-Lewis Index (TLI)                       0.944       0.984
##                                                                   
##   Robust Comparative Fit Index (CFI)                         0.966
##   Robust Tucker-Lewis Index (TLI)                            0.962
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -5293.433   -5293.433
##   Loglikelihood unrestricted model (H1)      -4911.838   -4911.838
##                                                                   
##   Akaike (AIC)                               10698.866   10698.866
##   Bayesian (BIC)                             10886.304   10886.304
##   Sample-size adjusted Bayesian (SABIC)      10708.864   10708.864
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.094       0.062
##   90 Percent confidence interval - lower         0.086       0.055
##   90 Percent confidence interval - upper         0.101       0.069
##   P-value H_0: RMSEA <= 0.050                    0.000       0.004
##   P-value H_0: RMSEA >= 0.080                    0.998       0.000
##                                                                   
##   Robust RMSEA                                               0.077
##   90 Percent confidence interval - lower                     0.066
##   90 Percent confidence interval - upper                     0.088
##   P-value H_0: Robust RMSEA <= 0.050                         0.000
##   P-value H_0: Robust RMSEA >= 0.080                         0.359
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.026       0.026
## 
## Parameter Estimates:
## 
##   Standard errors                           Robust.sem
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                            Estimate  Std.Err  z-value  P(>|z|)   Std.lv
##   jobStress =~                                                         
##     JST_1                     1.000                               1.676
##     JST_2                     0.934    0.025   37.779    0.000    1.566
##     JST_3                     0.876    0.029   30.379    0.000    1.468
##     JST_4                     0.925    0.022   42.667    0.000    1.551
##     JST_5                     0.927    0.026   35.625    0.000    1.554
##     JST_8                     0.870    0.029   29.958    0.000    1.458
##     JSA_3_N                   0.915    0.023   39.065    0.000    1.533
##     JSA_7_N                   0.958    0.021   46.189    0.000    1.605
##   jobSatisfaction =~                                                   
##     JST_10_N                  1.000                               1.465
##     OS_2                      0.976    0.029   33.328    0.000    1.430
##     JSA_1                     0.987    0.027   36.287    0.000    1.445
##     JSA_2                     0.970    0.029   32.982    0.000    1.420
##     JSA_4                     1.007    0.032   31.306    0.000    1.474
##     JSA_5                     1.004    0.031   32.785    0.000    1.470
##     JSA_13                    1.052    0.031   33.927    0.000    1.541
##   organizationalSupport =~                                             
##     OS_5                      1.000                               1.599
##     JSA_8                     1.005    0.029   34.190    0.000    1.608
##     JSA_10                    0.941    0.029   32.717    0.000    1.505
##     JSA_12                    1.031    0.026   40.161    0.000    1.649
##   turnoverIntention =~                                                 
##     TI_1                      1.000                               1.544
##     TI_2                      0.962    0.036   26.725    0.000    1.485
##     TI_3                      1.011    0.035   29.140    0.000    1.561
##     TI_4                      0.984    0.038   26.159    0.000    1.518
##     TI_5                      0.986    0.035   28.202    0.000    1.523
##     TI_6                      0.980    0.036   27.448    0.000    1.513
##   Std.all
##          
##     0.967
##     0.951
##     0.920
##     0.943
##     0.928
##     0.914
##     0.943
##     0.949
##          
##     0.926
##     0.933
##     0.935
##     0.904
##     0.930
##     0.942
##     0.915
##          
##     0.954
##     0.939
##     0.943
##     0.955
##          
##     0.922
##     0.952
##     0.953
##     0.944
##     0.943
##     0.942
## 
## Regressions:
##                       Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   turnoverIntention ~                                                      
##     jobStress           -0.279    0.165   -1.688    0.091   -0.303   -0.303
##     jobSatisfactin      -0.258    0.131   -1.969    0.049   -0.245   -0.245
##     organztnlSpprt      -1.003    0.149   -6.738    0.000   -1.039   -1.039
## 
## Covariances:
##                      Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   jobStress ~~                                                            
##     jobSatisfactin     -2.321    0.159  -14.622    0.000   -0.946   -0.946
##     organztnlSpprt     -2.581    0.140  -18.461    0.000   -0.963   -0.963
##   jobSatisfaction ~~                                                      
##     organztnlSpprt      2.189    0.165   13.236    0.000    0.935    0.935
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .JST_1             0.196    0.036    5.439    0.000    0.196    0.065
##    .JST_2             0.260    0.054    4.832    0.000    0.260    0.096
##    .JST_3             0.393    0.063    6.247    0.000    0.393    0.154
##    .JST_4             0.299    0.044    6.739    0.000    0.299    0.111
##    .JST_5             0.389    0.071    5.457    0.000    0.389    0.139
##    .JST_8             0.419    0.064    6.526    0.000    0.419    0.164
##    .JSA_3_N           0.293    0.050    5.879    0.000    0.293    0.111
##    .JSA_7_N           0.282    0.046    6.117    0.000    0.282    0.099
##    .JST_10_N          0.359    0.055    6.496    0.000    0.359    0.143
##    .OS_2              0.303    0.058    5.263    0.000    0.303    0.129
##    .JSA_1             0.301    0.048    6.293    0.000    0.301    0.126
##    .JSA_2             0.452    0.070    6.436    0.000    0.452    0.183
##    .JSA_4             0.340    0.056    6.045    0.000    0.340    0.135
##    .JSA_5             0.276    0.045    6.089    0.000    0.276    0.113
##    .JSA_13            0.462    0.102    4.534    0.000    0.462    0.163
##    .OS_5              0.254    0.046    5.475    0.000    0.254    0.090
##    .JSA_8             0.347    0.056    6.203    0.000    0.347    0.118
##    .JSA_10            0.281    0.048    5.860    0.000    0.281    0.110
##    .JSA_12            0.261    0.038    6.858    0.000    0.261    0.088
##    .TI_1              0.422    0.099    4.243    0.000    0.422    0.150
##    .TI_2              0.227    0.038    5.960    0.000    0.227    0.093
##    .TI_3              0.249    0.048    5.158    0.000    0.249    0.093
##    .TI_4              0.283    0.049    5.812    0.000    0.283    0.109
##    .TI_5              0.291    0.055    5.284    0.000    0.291    0.112
##    .TI_6              0.291    0.048    6.088    0.000    0.291    0.113
##     jobStress         2.809    0.142   19.753    0.000    1.000    1.000
##     jobSatisfactin    2.145    0.186   11.559    0.000    1.000    1.000
##     organztnlSpprt    2.556    0.159   16.081    0.000    1.000    1.000
##    .turnoverIntntn    0.096    0.044    2.203    0.028    0.040    0.040

Session Info for Reproducibility

sessionInfo()
## R version 4.4.3 (2025-02-28 ucrt)
## Platform: x86_64-w64-mingw32/x64
## Running under: Windows 11 x64 (build 26100)
## 
## Matrix products: default
## 
## 
## locale:
## [1] LC_COLLATE=English_United States.utf8 
## [2] LC_CTYPE=English_United States.utf8   
## [3] LC_MONETARY=English_United States.utf8
## [4] LC_NUMERIC=C                          
## [5] LC_TIME=English_United States.utf8    
## 
## time zone: Asia/Manila
## tzcode source: internal
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] semPlot_1.1.6  semTools_0.5-6 lavaan_0.6-19  psych_2.4.12  
## 
## loaded via a namespace (and not attached):
##  [1] fastmap_1.2.0        OpenMx_2.21.13       XML_3.99-0.18       
##  [4] digest_0.6.37        rpart_4.1.24         mi_1.1              
##  [7] lifecycle_1.0.4      cluster_2.1.8        magrittr_2.0.3      
## [10] compiler_4.4.3       rlang_1.1.5          Hmisc_5.2-2         
## [13] sass_0.4.9           tools_4.4.3          igraph_2.1.4        
## [16] yaml_2.3.10          data.table_1.17.0    knitr_1.49          
## [19] htmlwidgets_1.6.4    mnormt_2.1.1         plyr_1.8.9          
## [22] abind_1.4-8          foreign_0.8-88       nnet_7.3-20         
## [25] grid_4.4.3           stats4_4.4.3         xtable_1.8-4        
## [28] colorspace_2.1-1     GPArotation_2024.3-1 ggplot2_3.5.1       
## [31] gtools_3.9.5         scales_1.3.0         MASS_7.3-64         
## [34] cli_3.6.4            rmarkdown_2.29       reformulas_0.4.0    
## [37] RcppParallel_5.1.10  rstudioapi_0.17.1    reshape2_1.4.4      
## [40] pbapply_1.7-2        minqa_1.2.8          cachem_1.1.0        
## [43] stringr_1.5.1        splines_4.4.3        parallel_4.4.3      
## [46] base64enc_0.1-3      vctrs_0.6.5          boot_1.3-31         
## [49] Matrix_1.7-2         jsonlite_1.9.1       carData_3.0-5       
## [52] glasso_1.11          Formula_1.2-5        htmlTable_2.4.3     
## [55] jpeg_0.1-10          jquerylib_0.1.4      qgraph_1.9.8        
## [58] glue_1.8.0           nloptr_2.1.1         stringi_1.8.4       
## [61] sem_3.1-16           gtable_0.3.6         quadprog_1.5-8      
## [64] lme4_1.1-36          munsell_0.5.1        tibble_3.2.1        
## [67] lisrelToR_0.3        pillar_1.10.1        htmltools_0.5.8.1   
## [70] R6_2.6.1             Rdpack_2.6.2         evaluate_1.0.3      
## [73] pbivnorm_0.6.0       lattice_0.22-6       rbibutils_2.3       
## [76] png_0.1-8            backports_1.5.0      rockchalk_1.8.157   
## [79] kutils_1.73          openxlsx_4.2.8       arm_1.14-4          
## [82] corpcor_1.6.10       bslib_0.9.0          fdrtool_1.2.18      
## [85] Rcpp_1.0.14          zip_2.3.2            coda_0.19-4.1       
## [88] gridExtra_2.3        nlme_3.1-167         checkmate_2.3.2     
## [91] xfun_0.51            pkgconfig_2.0.3