ConstructValidity_1 <- read_sav("EFA Student Sample.sav")
# Kaiser-Meyer-Olkin (KMO) Measure of Sampling Adequacy
KMO(ConstructValidity_1)
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = ConstructValidity_1)
## Overall MSA = 0.9
## MSA for each item =
## DSE_Aware_1 DSE_Aware_2 DSE_Aware_3 DSE_Regulate_1
## 0.91 0.83 0.90 0.90
## DSE_Regulate_2 DSE_Regulate_3 DSE_Regulate_4 DSE_Regulate_5
## 0.91 0.94 0.87 0.86
## DSE_Management_1 DSE_Management_2 DSE_Management_3 DSE_Management_4
## 0.91 0.91 0.92 0.89
## DSE_Management_5
## 0.91
# Bartlett’s Test for Sphericity
cat("\n Bartlett’s Test for Sphericity:\n")
##
## Bartlett’s Test for Sphericity:
cortest.bartlett(ConstructValidity_1)
## R was not square, finding R from data
## $chisq
## [1] 1522.607
##
## $p.value
## [1] 1.489412e-266
##
## $df
## [1] 78
# Number of Factors to Extract
cat("Number of Factors to Extract: \n")
## Number of Factors to Extract:
corMatrix <- cor(ConstructValidity_1, use = "pairwise.complete.obs")
factors_to_extract <- nScree(x=corMatrix,model="factors")
factors_to_extract
## noc naf nparallel nkaiser
## 1 3 1 3 3
# Calculate Eigenvalues for First Four Factors
cor_matrix <- cor(ConstructValidity_1, use = "pairwise.complete.obs")
eigen_results <- eigen(cor_matrix)
cat("First Four Eigenvalues:", eigen_results$values[1:4], "\n")
## First Four Eigenvalues: 7.103689 1.461159 1.220784 0.6180314
# Conduct EFA
fa_results <- fa(ConstructValidity_1, nfactors = 3, rotate = "promax", fm = "pa") # PAF method
## Loading required namespace: GPArotation
cat("\n--- Exploratory Factor Analysis (EFA) Results ---\n")
##
## --- Exploratory Factor Analysis (EFA) Results ---
cat("Rotation Method:", fa_results$rotation, "\n")
## Rotation Method: promax
cat("Extraction Method:", fa_results$fm, "\n")
## Extraction Method: pa
cat("Number of Factors:", fa_results$factors, "\n\n")
## Number of Factors: 3
cat("Eigenvalues:\n")
## Eigenvalues:
print(round(fa_results$e.values[1:fa_results$factors], 2))
## [1] 7.10 1.46 1.22
cat("\n")
cat("Factor Loadings (Pattern Matrix):\n")
## Factor Loadings (Pattern Matrix):
print(round(fa_results$loadings[], 2))
## PA1 PA2 PA3
## DSE_Aware_1 0.18 -0.03 0.76
## DSE_Aware_2 0.05 -0.08 0.91
## DSE_Aware_3 -0.04 0.13 0.79
## DSE_Regulate_1 -0.07 0.78 0.16
## DSE_Regulate_2 -0.09 0.73 0.17
## DSE_Regulate_3 -0.02 0.66 0.20
## DSE_Regulate_4 0.16 0.80 -0.21
## DSE_Regulate_5 0.06 0.88 -0.14
## DSE_Management_1 0.70 0.19 -0.10
## DSE_Management_2 0.64 0.14 0.02
## DSE_Management_3 0.77 0.02 0.11
## DSE_Management_4 0.87 -0.11 0.06
## DSE_Management_5 0.85 -0.07 0.07
cat("\n")
cat("Variance Explained by Each Factor:\n")
## Variance Explained by Each Factor:
print(round(fa_results$Vaccounted, 3))
## PA1 PA2 PA3
## SS loadings 3.260 3.207 2.402
## Proportion Var 0.251 0.247 0.185
## Cumulative Var 0.251 0.498 0.682
## Proportion Explained 0.368 0.362 0.271
## Cumulative Proportion 0.368 0.729 1.000
cat("\n")
cat("Cumulative Variance Explained (%):\n")
## Cumulative Variance Explained (%):
print(round(fa_results$Vaccounted["Cumulative Var", ] * 100, 2))
## PA1 PA2 PA3
## 25.08 49.75 68.23
cat("\n")
cat("Factor Correlations:\n")
## Factor Correlations:
print(round(fa_results$r.scores, 2))
## [,1] [,2] [,3]
## [1,] 1.00 0.68 0.66
## [2,] 0.68 1.00 0.62
## [3,] 0.66 0.62 1.00
cat("\n")
ConstructValidity_2 <- read_sav("Construct Validity (Efficacy Scales).sav")
# Bias-Awareness Efficacy
ConstructValidity_2$AWARENESS <- rowMeans(ConstructValidity_2[, c("DSE_Aware_1", "DSE_Aware_2", "DSE_Aware_3")], na.rm = TRUE)
# Self-Regulation Efficacy
ConstructValidity_2$REGULATION <- rowMeans(ConstructValidity_2[, c("DSE_Regulate_1", "DSE_Regulate_2", "DSE_Regulate_3", "DSE_Regulate_4", "DSE_Regulate_5")], na.rm = TRUE)
# Intergroup-Management Efficacy
ConstructValidity_2$MANAGEMENT <- rowMeans(ConstructValidity_2[, c("DSE_Management_1", "DSE_Management_2", "DSE_Management_3", "DSE_Management_4", "DSE_Management_5")], na.rm = TRUE)
ThreeFactor_model <- '
# Factor 1: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
'
ThreeFactor_fit <- cfa(ThreeFactor_model, ConstructValidity_2, estimator = "ML")
# plot CFA results
semPaths(ThreeFactor_fit, "std", weighted = FALSE, nCharNodes = 7,
shapeMan = "rectangle", sizeMan = 8, sizeMan2 = 5)
## Fit Indices:
##
## chisq df pvalue cfi srmr
## 166.869 62.000 0.000 0.933 0.052
## Standardized Factor Loadings:
##
## Awrnss Regltn Mngmnt
## DSE_Aware_1 0.794 0.000 0.000
## DSE_Aware_2 0.719 0.000 0.000
## DSE_Aware_3 0.815 0.000 0.000
## DSE_Regulate_1 0.000 0.777 0.000
## DSE_Regulate_2 0.000 0.795 0.000
## DSE_Regulate_3 0.000 0.750 0.000
## DSE_Regulate_4 0.000 0.751 0.000
## DSE_Regulate_5 0.000 0.774 0.000
## DSE_Management_1 0.000 0.000 0.742
## DSE_Management_2 0.000 0.000 0.783
## DSE_Management_3 0.000 0.000 0.837
## DSE_Management_4 0.000 0.000 0.862
## DSE_Management_5 0.000 0.000 0.869
##
##
## Explained Variance (R²):
##
## DSE_Aware_1 DSE_Aware_2 DSE_Aware_3 DSE_Regulate_1
## 0.631 0.516 0.664 0.604
## DSE_Regulate_2 DSE_Regulate_3 DSE_Regulate_4 DSE_Regulate_5
## 0.632 0.563 0.564 0.599
## DSE_Management_1 DSE_Management_2 DSE_Management_3 DSE_Management_4
## 0.550 0.613 0.701 0.743
## DSE_Management_5
## 0.754
OneFactor_model <- '
# One Factor: Bias-Awareness, Self-Regulation, & Intergroup-Management Efficacy
OneFactor =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3 +
DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5 +
DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
'
Alt_Model1_1factor_fit <- cfa(OneFactor_model, ConstructValidity_2, estimator = "ML")
## Fit Indices:
##
## chisq df pvalue cfi srmr
## 463.387 65.000 0.000 0.746 0.099
## Standardized Factor Loadings:
##
## OnFctr
## DSE_Aware_1 0.635
## DSE_Aware_2 0.575
## DSE_Aware_3 0.654
## DSE_Regulate_1 0.644
## DSE_Regulate_2 0.655
## DSE_Regulate_3 0.609
## DSE_Regulate_4 0.622
## DSE_Regulate_5 0.640
## DSE_Management_1 0.757
## DSE_Management_2 0.799
## DSE_Management_3 0.787
## DSE_Management_4 0.776
## DSE_Management_5 0.777
##
##
## Explained Variance (R²):
##
## DSE_Aware_1 DSE_Aware_2 DSE_Aware_3 DSE_Regulate_1
## 0.404 0.331 0.428 0.415
## DSE_Regulate_2 DSE_Regulate_3 DSE_Regulate_4 DSE_Regulate_5
## 0.429 0.371 0.386 0.409
## DSE_Management_1 DSE_Management_2 DSE_Management_3 DSE_Management_4
## 0.573 0.638 0.620 0.603
## DSE_Management_5
## 0.603
##
##
## Three-Factor vs One-Factor Model:
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff RMSEA Df diff
## ThreeFactor_fit 62 5502.5 5597.3 166.87
## Alt_Model1_1factor_fit 65 5793.0 5878.0 463.39 296.52 0.71016 3
## Pr(>Chisq)
## ThreeFactor_fit
## Alt_Model1_1factor_fit < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Alt_Model2_2factor <- '
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
Regulation_Management =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5 + DSE_Management_1 + DSE_Management_2 +
DSE_Management_3 + DSE_Management_4 + DSE_Management_5
'
### Fit Indices for Alternative 2-Factor Model #1
Alt_Model2_2factor_fit <- cfa(Alt_Model2_2factor, ConstructValidity_2)
#####
Alt_Model3_2factor <- '
Awareness_Regulation =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3 + DSE_Regulate_1 +
DSE_Regulate_2 + DSE_Regulate_3 + DSE_Regulate_4 + DSE_Regulate_5
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
'
### Fit Indices for Alternative 2-Factor Model #2
Alt_Model3_2factor_fit <- cfa(Alt_Model3_2factor, ConstructValidity_2)
#####
Alt_Model4_2factor <- '
Awareness_Management =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3 + DSE_Management_1 +
DSE_Management_2 + DSE_Management_3 + DSE_Management_4 + DSE_Management_5
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
'
### Fit Indices for Alternative 2-Factor Model #3
Alt_Model4_2factor_fit <- cfa(Alt_Model4_2factor, ConstructValidity_2)
Model_3vs1 <- anova(ThreeFactor_fit, Alt_Model1_1factor_fit)
Model_3vs2.1 <- anova(ThreeFactor_fit, Alt_Model2_2factor_fit)
Model_3vs2.2 <- anova(ThreeFactor_fit, Alt_Model3_2factor_fit)
Model_3vs2.3 <- anova(ThreeFactor_fit, Alt_Model4_2factor_fit)
Hypothesized_Model <- Model_3vs1[1, ] # three-factor model
Alt_Model1_1f <- Model_3vs1[2, ] # one-factor model
Alt_Model2_2f <- Model_3vs2.1[2, ] # self-regulatory and management efficacy = 1 factor
Alt_Model3_2f <- Model_3vs2.2[2, ] # awareness and self-regulatory efficacy = 1 factor
Alt_Model4_2f <- Model_3vs2.3[2, ] # awareness and management efficacy = 1 factor
model_comparisons <- rbind(Hypothesized_Model,Alt_Model1_1f,Alt_Model2_2f,Alt_Model3_2f,Alt_Model4_2f)
# Print the data frame
print(model_comparisons)
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff RMSEA Df diff
## ThreeFactor_fit 62 5502.5 5597.3 166.87
## Alt_Model1_1factor_fit 65 5793.0 5878.0 463.39 296.518 0.71016 3
## Alt_Model2_2factor_fit 64 5718.1 5806.3 386.42 219.547 0.74879 2
## Alt_Model3_2factor_fit 64 5626.7 5714.9 295.02 128.155 0.57021 2
## Alt_Model4_2factor_fit 64 5593.5 5681.7 261.82 94.955 0.48946 2
## Pr(>Chisq)
## ThreeFactor_fit
## Alt_Model1_1factor_fit < 2.2e-16 ***
## Alt_Model2_2factor_fit < 2.2e-16 ***
## Alt_Model3_2factor_fit < 2.2e-16 ***
## Alt_Model4_2factor_fit < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## cfi srmr
## ThreeFactor 0.9330665 0.05173359
## OneFactor 0.7457266 0.09897023
## Alt_2factor_SR+M 0.7942153 0.08963291
## Alt_2factor_Aw+SR 0.8525469 0.08767441
## Alt_2factor_Aw+M 0.8737370 0.07008811
# Average Variance Extracted
cat("Average Variance Extracted (AVE): \n")
## Average Variance Extracted (AVE):
AVE <- AVE(ThreeFactor_fit)
AVE
## Awareness Regulation Management
## 0.588 0.593 0.677
# Square Root of AVE
cat("\n Square Root of AVE:\n")
##
## Square Root of AVE:
AVEsqrt <- sqrt(AVE)
AVEsqrt["Awareness"]
## Awareness
## 0.766524
AVEsqrt["Regulation"]
## Regulation
## 0.7698694
AVEsqrt["Management"]
## Management
## 0.8229723
# Maximum Squared Correlation
apa.cor.table(ConstructValidity_2[,c("AWARENESS", "REGULATION", "MANAGEMENT")])
##
##
## Means, standard deviations, and correlations with confidence intervals
##
##
## Variable M SD 1 2
## 1. AWARENESS 3.99 0.78
##
## 2. REGULATION 4.20 0.69 .51**
## [.40, .61]
##
## 3. MANAGEMENT 3.63 0.97 .62** .59**
## [.52, .70] [.49, .68]
##
##
## Note. M and SD are used to represent mean and standard deviation, respectively.
## Values in square brackets indicate the 95% confidence interval.
## The confidence interval is a plausible range of population correlations
## that could have caused the sample correlation (Cumming, 2014).
## * indicates p < .05. ** indicates p < .01.
##
max_sq_cor <- cor(ConstructValidity_2$AWARENESS,ConstructValidity_2$MANAGEMENT)^2
cat("Max Squared Correlation:", max_sq_cor, "\n")
## Max Squared Correlation: 0.3796969
## Fornell-Larcker Test
Awareness_vs_Regulation <- AVEsqrt["Awareness"] > max_sq_cor &&
AVEsqrt["Regulation"] > max_sq_cor
Awareness_vs_Management <- AVEsqrt["Awareness"] > max_sq_cor &&
AVEsqrt["Management"] > max_sq_cor
Regulation_vs_Management <- AVEsqrt["Regulation"] > max_sq_cor &&
AVEsqrt["Management"] > max_sq_cor
cat("Fornell–Larcker Criterion (√AVE > max_sq correlation → TRUE): \n")
## Fornell–Larcker Criterion (√AVE > max_sq correlation → TRUE):
cat("Awareness vs Regulation:", Awareness_vs_Regulation, "\n")
## Awareness vs Regulation: TRUE
cat("Awareness vs Management:", Awareness_vs_Management, "\n")
## Awareness vs Management: TRUE
cat("Regulation vs Management:", Regulation_vs_Management, "\n")
## Regulation vs Management: TRUE
# Compute and Print HTMT Values
HTMTresults <- htmt(ThreeFactor_model,ConstructValidity_2)
HTMTresults
## Awrnss Regltn Mngmnt
## Awareness 1.000
## Regulation 0.603 1.000
## Management 0.718 0.667 1.000
## Pro-Diversity Beliefs Scale
ConstructValidity_2$ProDiversity <- rowMeans(ConstructValidity_2[, c("ProDiversity_1", "ProDiversity_2", "ProDiversity_3", "ProDiversity_4")], na.rm = TRUE)
# Correlations
apa.cor.table(ConstructValidity_2[,c("AWARENESS", "REGULATION", "MANAGEMENT", "ProDiversity")])
##
##
## Means, standard deviations, and correlations with confidence intervals
##
##
## Variable M SD 1 2 3
## 1. AWARENESS 3.99 0.78
##
## 2. REGULATION 4.20 0.69 .51**
## [.40, .61]
##
## 3. MANAGEMENT 3.63 0.97 .62** .59**
## [.52, .70] [.49, .68]
##
## 4. ProDiversity 5.87 1.32 .34** .14 .42**
## [.21, .46] [-.00, .27] [.29, .53]
##
##
## Note. M and SD are used to represent mean and standard deviation, respectively.
## Values in square brackets indicate the 95% confidence interval.
## The confidence interval is a plausible range of population correlations
## that could have caused the sample correlation (Cumming, 2014).
## * indicates p < .05. ** indicates p < .01.
##
FourFactor_model <- '
# Factor 1: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
# Factor 4: Pro-Diversity Attitudes
Pro_Diversity =~ ProDiversity_1 + ProDiversity_2 +
ProDiversity_3 + ProDiversity_4
'
FourFactor_fit <- cfa(FourFactor_model, ConstructValidity_2, estimator = "ML")
## Fit Indices:
##
## chisq df pvalue cfi srmr
## 271.344 113.000 0.000 0.938 0.055
## Standardized Factor Loadings:
##
## Awrnss Regltn Mngmnt Pr_Dvr
## DSE_Aware_1 0.792 0.000 0.000 0.000
## DSE_Aware_2 0.714 0.000 0.000 0.000
## DSE_Aware_3 0.821 0.000 0.000 0.000
## DSE_Regulate_1 0.000 0.781 0.000 0.000
## DSE_Regulate_2 0.000 0.799 0.000 0.000
## DSE_Regulate_3 0.000 0.748 0.000 0.000
## DSE_Regulate_4 0.000 0.748 0.000 0.000
## DSE_Regulate_5 0.000 0.771 0.000 0.000
## DSE_Management_1 0.000 0.000 0.731 0.000
## DSE_Management_2 0.000 0.000 0.776 0.000
## DSE_Management_3 0.000 0.000 0.843 0.000
## DSE_Management_4 0.000 0.000 0.865 0.000
## DSE_Management_5 0.000 0.000 0.872 0.000
## ProDiversity_1 0.000 0.000 0.000 0.932
## ProDiversity_2 0.000 0.000 0.000 0.941
## ProDiversity_3 0.000 0.000 0.000 0.943
## ProDiversity_4 0.000 0.000 0.000 0.887
##
##
## Explained Variance (R²):
##
## DSE_Aware_1 DSE_Aware_2 DSE_Aware_3 DSE_Regulate_1
## 0.627 0.510 0.673 0.609
## DSE_Regulate_2 DSE_Regulate_3 DSE_Regulate_4 DSE_Regulate_5
## 0.638 0.559 0.559 0.595
## DSE_Management_1 DSE_Management_2 DSE_Management_3 DSE_Management_4
## 0.535 0.602 0.710 0.748
## DSE_Management_5 ProDiversity_1 ProDiversity_2 ProDiversity_3
## 0.760 0.868 0.885 0.890
## ProDiversity_4
## 0.788
# Average Variance Extracted
cat("Average Variance Extracted (AVE): \n")
## Average Variance Extracted (AVE):
AVE <- AVE(FourFactor_fit)
AVE
## Awareness Regulation Management Pro_Diversity
## 0.586 0.592 0.677 0.852
# Square Root of AVE
cat("\n Square Root of AVE:\n")
##
## Square Root of AVE:
AVEsqrt <- sqrt(AVE)
AVEsqrt["Awareness"]
## Awareness
## 0.7657416
AVEsqrt["Regulation"]
## Regulation
## 0.769726
AVEsqrt["Management"]
## Management
## 0.8225269
AVEsqrt["Pro_Diversity"]
## Pro_Diversity
## 0.9228545
# Maximum Squared Correlation
max_sq_cor <- cor(ConstructValidity_2$ProDiversity,ConstructValidity_2$MANAGEMENT)^2
cat("\n Max Squared Correlation:", max_sq_cor, "\n")
##
## Max Squared Correlation: 0.1745743
## Fornell-Larcker Test
Awareness_vs_ProDiversity <- AVEsqrt["Awareness"] > max_sq_cor &&
AVEsqrt["Pro_Diversity"] > max_sq_cor
Regulation_vs_ProDiversity <- AVEsqrt["Regulation"] > max_sq_cor &&
AVEsqrt["Pro_Diversity"] > max_sq_cor
Management_vs_ProDiversity <- AVEsqrt["Management"] > max_sq_cor &&
AVEsqrt["Pro_Diversity"] > max_sq_cor
cat("Fornell–Larcker Criterion (√AVE > max_sq correlation → TRUE): \n")
## Fornell–Larcker Criterion (√AVE > max_sq correlation → TRUE):
cat("Awareness vs ProDiversity:", Awareness_vs_ProDiversity, "\n")
## Awareness vs ProDiversity: TRUE
cat("Regulation vs ProDiversity:", Regulation_vs_ProDiversity, "\n")
## Regulation vs ProDiversity: TRUE
cat("Management vs ProDiversity:", Management_vs_ProDiversity, "\n")
## Management vs ProDiversity: TRUE
# Compute and Print HTMT Values
library(semTools)
HTMTresults <- semTools::htmt(FourFactor_model, ConstructValidity_2)
print(HTMTresults)
## Awrnss Regltn Mngmnt Pr_Dvr
## Awareness 1.000
## Regulation 0.603 1.000
## Management 0.718 0.667 1.000
## Pro_Diversity 0.373 0.138 0.420 1.000
Note: Bias-Awareness Efficacy & Pro-Diversity Attitudes are combined into single factor
Alt_Model_1_Discriminant_Validity <- '
# Factor 1: Bias-Awareness Efficacy & Pro-Diversity Attitudes
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3 +
ProDiversity_1 + ProDiversity_2 +
ProDiversity_3 + ProDiversity_4
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
'
### Fit Indices for Alternative One-Factor Model (A1)
Alt_Model_1_Discriminant_Validity_fit <- cfa(Alt_Model_1_Discriminant_Validity, ConstructValidity_2)
Note: Self-Regulation Efficacy & Pro-Diversity Attitudes are combined into single factor
Alt_Model_2_Discriminant_Validity <- '
# Factor 1: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy & Pro-Diversity Attitudes
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5 +
ProDiversity_1 + ProDiversity_2 +
ProDiversity_3 + ProDiversity_4
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
'
### Fit Indices for Alternative Two-Factor Model (A2)
Alt_Model_2_Discriminant_Validity_fit <- cfa(Alt_Model_2_Discriminant_Validity, ConstructValidity_2)
Note: Intergroup-Management Efficacy & Pro-Diversity Attitudes are combined into single factor
Alt_Model_3_Discriminant_Validity <- '
# Factor 1: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy & Pro-Diversity Attitudes
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5 +
ProDiversity_1 + ProDiversity_2 +
ProDiversity_3 + ProDiversity_4
'
### Fit Indices for Alternative Two-Factor Model (A3)
Alt_Model_3_Discriminant_Validity_fit <- cfa(Alt_Model_3_Discriminant_Validity, ConstructValidity_2)
Discriminant_Model_4vs3.1 <- anova(FourFactor_fit,
Alt_Model_1_Discriminant_Validity_fit)
Discriminant_Model_4vs3.2 <- anova(FourFactor_fit,
Alt_Model_2_Discriminant_Validity_fit)
Discriminant_Model_4vs3.3 <- anova(FourFactor_fit,
Alt_Model_3_Discriminant_Validity_fit)
# extract values based on column indices
Hypothesized_Discriminant_Model <- Discriminant_Model_4vs3.1[1, ]
Alt_Discriminant_Model1_1f <- Discriminant_Model_4vs3.1[2, ]
Alt_Discriminant_Model2_2f <- Discriminant_Model_4vs3.2[2, ]
Alt_Discriminant_Model3_2f <- Discriminant_Model_4vs3.3[2, ]
discriminant_model_comparisons <- rbind(Hypothesized_Discriminant_Model,
Alt_Discriminant_Model1_1f,
Alt_Discriminant_Model2_2f,
Alt_Discriminant_Model3_2f
)
# Print the data frame
print(discriminant_model_comparisons)
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff
## FourFactor_fit 113 7289.9 7420.6 271.34
## Alt_Model_1_Discriminant_Validity_fit 116 7545.8 7666.7 533.18 261.84
## Alt_Model_2_Discriminant_Validity_fit 116 8193.4 8314.3 1180.80 909.45
## Alt_Model_3_Discriminant_Validity_fit 116 8040.1 8161.0 1027.51 756.17
## RMSEA Df diff Pr(>Chisq)
## FourFactor_fit
## Alt_Model_1_Discriminant_Validity_fit 0.66689 3 < 2.2e-16 ***
## Alt_Model_2_Discriminant_Validity_fit 1.24799 3 < 2.2e-16 ***
## Alt_Model_3_Discriminant_Validity_fit 1.13759 3 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## cfi srmr
## FourFactor 0.9381997 0.05544447
## Alt_3factor_Aw+PD 0.8371773 0.17204555
## Alt_3factor_SR+PD 0.5844190 0.17844416
## Alt_3factor_M+PD 0.6442459 0.13901229
## General Self-Efficacy Scale
ConstructValidity_2$GeneralSE <- rowMeans(ConstructValidity_2[, c("GSE_1", "GSE_2", "GSE_3", "GSE_4", "GSE_5", "GSE_6", "GSE_7", "GSE_8")], na.rm = TRUE)
## Leadership Self-Efficacy Scale
ConstructValidity_2$LeadershipSE <- rowMeans(ConstructValidity_2[, c("LSE_1", "LSE_2", "LSE_3", "LSE_4","LSE_5", "LSE_6", "LSE_7", "LSE_8")], na.rm = TRUE)
## Teamwork Self-Efficacy Scale
ConstructValidity_2$TeamworkSE <- rowMeans(ConstructValidity_2[, c("TSE_1", "TSE_2", "TSE_3", "TSE_4","TSE_5", "TSE_6", "TSE_7", "TSE_8", "TSE_9", "TSE_10", "TSE_11", "TSE_12")], na.rm = TRUE)
# Correlations
CorVars <- ConstructValidity_2[, c("AWARENESS", "REGULATION", "MANAGEMENT",
"GeneralSE", "LeadershipSE", "TeamworkSE")]
apa.cor.table(CorVars)
##
##
## Means, standard deviations, and correlations with confidence intervals
##
##
## Variable M SD 1 2 3 4
## 1. AWARENESS 3.99 0.78
##
## 2. REGULATION 4.20 0.69 .51**
## [.40, .61]
##
## 3. MANAGEMENT 3.63 0.97 .62** .59**
## [.52, .70] [.49, .68]
##
## 4. GeneralSE 5.55 1.10 .33** .53** .41**
## [.19, .45] [.42, .62] [.29, .52]
##
## 5. LeadershipSE 4.94 1.21 .29** .40** .45** .47**
## [.15, .41] [.27, .51] [.33, .56] [.35, .57]
##
## 6. TeamworkSE 5.44 0.92 .40** .53** .56** .56**
## [.27, .51] [.43, .63] [.45, .65] [.45, .65]
##
## 5
##
##
##
##
##
##
##
##
##
##
##
##
##
##
## .78**
## [.72, .83]
##
##
## Note. M and SD are used to represent mean and standard deviation, respectively.
## Values in square brackets indicate the 95% confidence interval.
## The confidence interval is a plausible range of population correlations
## that could have caused the sample correlation (Cumming, 2014).
## * indicates p < .05. ** indicates p < .01.
##
Note: general, leadership, and teamwork self-efficacy
# Create three parcels for the 12-items teamwork self-efficacy scale
ConstructValidity_2 <- ConstructValidity_2 %>%
mutate(
TSE_parcel1 = rowMeans(dplyr::select(., c(TSE_1, TSE_2, TSE_3, TSE_4)), na.rm = TRUE),
TSE_parcel2 = rowMeans(dplyr::select(., c(TSE_5, TSE_6, TSE_7, TSE_8)), na.rm = TRUE),
TSE_parcel3 = rowMeans(dplyr::select(., c(TSE_9, TSE_10, TSE_11, TSE_12)), na.rm = TRUE)
)
DiscriminateValidity_Model <- '
# Factor 1: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
# Factor 4: General Self-Efficacy
GSE =~ GSE_1 + GSE_2 + GSE_3 + GSE_4 + GSE_5 +
GSE_6 + GSE_7 + GSE_8
# Factor 5: Leadership Self-Efficacy
LSE =~ LSE_1 + LSE_2 + LSE_3 + LSE_4 + LSE_5 +
LSE_6 + LSE_7 + LSE_8
# Factor 6: Teamwork Self-Efficacy
TSE =~ TSE_parcel1 + TSE_parcel2 + TSE_parcel3
'
DiscriminateValidity_Model_fit <- cfa(DiscriminateValidity_Model, ConstructValidity_2, estimator = "ML")
## Fit Indices:
##
## chisq df pvalue cfi srmr
## 900.373 449.000 0.000 0.923 0.050
## Standardized Factor Loadings:
##
## Awrnss Regltn Mngmnt GSE LSE TSE
## DSE_Aware_1 0.795 0.000 0.000 0.000 0.000 0.000
## DSE_Aware_2 0.717 0.000 0.000 0.000 0.000 0.000
## DSE_Aware_3 0.815 0.000 0.000 0.000 0.000 0.000
## DSE_Regulate_1 0.000 0.785 0.000 0.000 0.000 0.000
## DSE_Regulate_2 0.000 0.809 0.000 0.000 0.000 0.000
## DSE_Regulate_3 0.000 0.742 0.000 0.000 0.000 0.000
## DSE_Regulate_4 0.000 0.744 0.000 0.000 0.000 0.000
## DSE_Regulate_5 0.000 0.764 0.000 0.000 0.000 0.000
## DSE_Management_1 0.000 0.000 0.746 0.000 0.000 0.000
## DSE_Management_2 0.000 0.000 0.783 0.000 0.000 0.000
## DSE_Management_3 0.000 0.000 0.838 0.000 0.000 0.000
## DSE_Management_4 0.000 0.000 0.861 0.000 0.000 0.000
## DSE_Management_5 0.000 0.000 0.865 0.000 0.000 0.000
## GSE_1 0.000 0.000 0.000 0.906 0.000 0.000
## GSE_2 0.000 0.000 0.000 0.902 0.000 0.000
## GSE_3 0.000 0.000 0.000 0.917 0.000 0.000
## GSE_4 0.000 0.000 0.000 0.906 0.000 0.000
## GSE_5 0.000 0.000 0.000 0.904 0.000 0.000
## GSE_6 0.000 0.000 0.000 0.818 0.000 0.000
## GSE_7 0.000 0.000 0.000 0.678 0.000 0.000
## GSE_8 0.000 0.000 0.000 0.815 0.000 0.000
## LSE_1 0.000 0.000 0.000 0.000 0.684 0.000
## LSE_2 0.000 0.000 0.000 0.000 0.848 0.000
## LSE_3 0.000 0.000 0.000 0.000 0.916 0.000
## LSE_4 0.000 0.000 0.000 0.000 0.931 0.000
## LSE_5 0.000 0.000 0.000 0.000 0.888 0.000
## LSE_6 0.000 0.000 0.000 0.000 0.896 0.000
## LSE_7 0.000 0.000 0.000 0.000 0.796 0.000
## LSE_8 0.000 0.000 0.000 0.000 0.904 0.000
## TSE_parcel1 0.000 0.000 0.000 0.000 0.000 0.882
## TSE_parcel2 0.000 0.000 0.000 0.000 0.000 0.923
## TSE_parcel3 0.000 0.000 0.000 0.000 0.000 0.911
##
##
## Explained Variance (R²):
##
## DSE_Aware_1 DSE_Aware_2 DSE_Aware_3 DSE_Regulate_1
## 0.632 0.515 0.665 0.616
## DSE_Regulate_2 DSE_Regulate_3 DSE_Regulate_4 DSE_Regulate_5
## 0.655 0.550 0.553 0.584
## DSE_Management_1 DSE_Management_2 DSE_Management_3 DSE_Management_4
## 0.557 0.614 0.702 0.742
## DSE_Management_5 GSE_1 GSE_2 GSE_3
## 0.748 0.820 0.814 0.842
## GSE_4 GSE_5 GSE_6 GSE_7
## 0.822 0.816 0.669 0.459
## GSE_8 LSE_1 LSE_2 LSE_3
## 0.664 0.467 0.718 0.840
## LSE_4 LSE_5 LSE_6 LSE_7
## 0.867 0.788 0.802 0.633
## LSE_8 TSE_parcel1 TSE_parcel2 TSE_parcel3
## 0.816 0.777 0.852 0.829
# Average Variance Extracted
cat("Average Variance Extracted (AVE): \n")
## Average Variance Extracted (AVE):
AVE <- AVE(DiscriminateValidity_Model_fit)
AVE
## Awareness Regulation Management GSE LSE TSE
## 0.587 0.592 0.677 0.740 0.742 0.824
# Square Root of AVE
cat("\n Square Root of AVE:\n")
##
## Square Root of AVE:
AVEsqrt <- sqrt(AVE)
AVEsqrt["Awareness"]
## Awareness
## 0.7662687
AVEsqrt["Regulation"]
## Regulation
## 0.7692228
AVEsqrt["Management"]
## Management
## 0.8230704
AVEsqrt["GSE"]
## GSE
## 0.8601203
AVEsqrt["LSE"]
## LSE
## 0.8616076
AVEsqrt["TSE"]
## TSE
## 0.9079116
# Maximum Squared Correlation
max_sq_cor <- cor(ConstructValidity_2$TeamworkSE,ConstructValidity_2$MANAGEMENT)^2
cat("Max Squared Correlation:", max_sq_cor, "\n")
## Max Squared Correlation: 0.3131897
## Fornell-Larcker Test
Awareness_vs_GSE <- AVEsqrt["Awareness"] > max_sq_cor &&
AVEsqrt["GSE"] > max_sq_cor
Regulation_vs_GSE <- AVEsqrt["Regulation"] > max_sq_cor &&
AVEsqrt["GSE"] > max_sq_cor
Management_vs_GSE <- AVEsqrt["Management"] > max_sq_cor &&
AVEsqrt["GSE"] > max_sq_cor
Awareness_vs_LSE <- AVEsqrt["Awareness"] > max_sq_cor &&
AVEsqrt["LSE"] > max_sq_cor
Regulation_vs_LSE <- AVEsqrt["Regulation"] > max_sq_cor &&
AVEsqrt["LSE"] > max_sq_cor
Management_vs_LSE <- AVEsqrt["Management"] > max_sq_cor &&
AVEsqrt["LSE"] > max_sq_cor
Awareness_vs_TSE <- AVEsqrt["Awareness"] > max_sq_cor &&
AVEsqrt["TSE"] > max_sq_cor
Regulation_vs_TSE <- AVEsqrt["Regulation"] > max_sq_cor &&
AVEsqrt["TSE"] > max_sq_cor
Management_vs_TSE <- AVEsqrt["Management"] > max_sq_cor &&
AVEsqrt["TSE"] > max_sq_cor
cat("Fornell–Larcker Criterion (√AVE > max_sq correlation → TRUE): \n")
## Fornell–Larcker Criterion (√AVE > max_sq correlation → TRUE):
cat("Awareness vs GSE:", Awareness_vs_GSE, "\n")
## Awareness vs GSE: TRUE
cat("Regulation vs GSE:", Regulation_vs_GSE, "\n")
## Regulation vs GSE: TRUE
cat("Management vs GSE:", Management_vs_GSE, "\n")
## Management vs GSE: TRUE
cat("Awareness vs LSE:", Awareness_vs_LSE, "\n")
## Awareness vs LSE: TRUE
cat("Regulation vs LSE:", Regulation_vs_LSE, "\n")
## Regulation vs LSE: TRUE
cat("Management vs LSE:", Management_vs_LSE, "\n")
## Management vs LSE: TRUE
cat("Awareness vs TSE:", Awareness_vs_TSE, "\n")
## Awareness vs TSE: TRUE
cat("Regulation vs TSE:", Regulation_vs_TSE, "\n")
## Regulation vs TSE: TRUE
cat("Management vs TSE:", Management_vs_TSE, "\n")
## Management vs TSE: TRUE
# Compute and Print HTMT Values
library(semTools)
HTMTresults <- semTools::htmt(DiscriminateValidity_Model, ConstructValidity_2)
print(HTMTresults)
## Awrnss Regltn Mngmnt GSE LSE TSE
## Awareness 1.000
## Regulation 0.603 1.000
## Management 0.718 0.667 1.000
## GSE 0.366 0.570 0.441 1.000
## LSE 0.311 0.421 0.483 0.485 1.000
## TSE 0.458 0.593 0.606 0.594 0.815 1.000
Alt_Model_1 <- '
# Factor 1: Bias-Awareness Efficacy & General Self-Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3 +
GSE_1 + GSE_2 + GSE_3 + GSE_4 + GSE_5 +
GSE_6 + GSE_7 + GSE_8
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
# Factor 4: Leadership Self-Efficacy
LSE =~ LSE_1 + LSE_2 + LSE_3 + LSE_4 + LSE_5 +
LSE_6 + LSE_7 + LSE_8
# Factor 5: Teamwork Self-Efficacy
TSE =~ TSE_parcel1 + TSE_parcel2 + TSE_parcel3
'
Alt_Model_1_fit <- cfa(Alt_Model_1, ConstructValidity_2, estimator = "ML")
Alt_Model_2 <- '
# Factor 1: Bias-Awareness Efficacy & Leadership Self-Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3 +
LSE_1 + LSE_2 + LSE_3 + LSE_4 + LSE_5 +
LSE_6 + LSE_7 + LSE_8
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
# Factor 4: General Self-Efficacy
GSE =~ GSE_1 + GSE_2 + GSE_3 + GSE_4 + GSE_5 +
GSE_6 + GSE_7 + GSE_8
# Factor 5: Teamwork Self-Efficacy
TSE =~ TSE_parcel1 + TSE_parcel2 + TSE_parcel3
'
Alt_Model_2_fit <- cfa(Alt_Model_2, ConstructValidity_2, estimator = "ML")
Alt_Model_3 <- '
# Factor 1: Bias-Awareness Efficacy & Teamwork Self-Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3 +
TSE_parcel1 + TSE_parcel2 + TSE_parcel3
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
# Factor 4: General Self-Efficacy
GSE =~ GSE_1 + GSE_2 + GSE_3 + GSE_4 + GSE_5 +
GSE_6 + GSE_7 + GSE_8
# Factor 5: Leadership Self-Efficacy
LSE =~ LSE_1 + LSE_2 + LSE_3 + LSE_4 + LSE_5 +
LSE_6 + LSE_7 + LSE_8
'
Alt_Model_3_fit <- cfa(Alt_Model_3, ConstructValidity_2, estimator = "ML")
Alt_Model_4 <- '
# Factor 1: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy & General Self-Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5 +
GSE_1 + GSE_2 + GSE_3 + GSE_4 + GSE_5 +
GSE_6 + GSE_7 + GSE_8
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
# Factor 4: Leadership Self-Efficacy
LSE =~ LSE_1 + LSE_2 + LSE_3 + LSE_4 + LSE_5 +
LSE_6 + LSE_7 + LSE_8
# Factor 5: Teamwork Self-Efficacy
TSE =~ TSE_parcel1 + TSE_parcel2 + TSE_parcel3
'
Alt_Model_4_fit <- cfa(Alt_Model_4, ConstructValidity_2, estimator = "ML")
Alt_Model_5 <- '
# Factor 1: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy & Leadership Self-Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5 +
LSE_1 + LSE_2 + LSE_3 + LSE_4 + LSE_5 +
LSE_6 + LSE_7 + LSE_8
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
# Factor 4: General Self-Efficacy
GSE =~ GSE_1 + GSE_2 + GSE_3 + GSE_4 + GSE_5 +
GSE_6 + GSE_7 + GSE_8
# Factor 5: Teamwork Self-Efficacy
TSE =~ TSE_parcel1 + TSE_parcel2 + TSE_parcel3
'
Alt_Model_5_fit <- cfa(Alt_Model_5, ConstructValidity_2, estimator = "ML")
Alt_Model_6 <- '
# Factor 1: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy & Teamwork Self-Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5 +
TSE_parcel1 + TSE_parcel2 + TSE_parcel3
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
# Factor 4: General Self-Efficacy
GSE =~ GSE_1 + GSE_2 + GSE_3 + GSE_4 + GSE_5 +
GSE_6 + GSE_7 + GSE_8
# Factor 5: Leadership Self-Efficacy
LSE =~ LSE_1 + LSE_2 + LSE_3 + LSE_4 + LSE_5 +
LSE_6 + LSE_7 + LSE_8
'
Alt_Model_6_fit <- cfa(Alt_Model_6, ConstructValidity_2, estimator = "ML")
Alt_Model_7 <- '
# Factor 1: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy & General Self-Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5 +
GSE_1 + GSE_2 + GSE_3 + GSE_4 + GSE_5 +
GSE_6 + GSE_7 + GSE_8
# Factor 4: Leadership Self-Efficacy
LSE =~ LSE_1 + LSE_2 + LSE_3 + LSE_4 + LSE_5 +
LSE_6 + LSE_7 + LSE_8
# Factor 5: Teamwork Self-Efficacy
TSE =~ TSE_parcel1 + TSE_parcel2 + TSE_parcel3
'
Alt_Model_7_fit <- cfa(Alt_Model_7, ConstructValidity_2, estimator = "ML")
Alt_Model_8 <- '
# Factor 1: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy & Leadership Self-Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5 +
LSE_1 + LSE_2 + LSE_3 + LSE_4 + LSE_5 +
LSE_6 + LSE_7 + LSE_8
# Factor 4: General Self-Efficacy
GSE =~ GSE_1 + GSE_2 + GSE_3 + GSE_4 + GSE_5 +
GSE_6 + GSE_7 + GSE_8
# Factor 5: Teamwork Self-Efficacy
TSE =~ TSE_parcel1 + TSE_parcel2 + TSE_parcel3
'
Alt_Model_8_fit <- cfa(Alt_Model_8, ConstructValidity_2, estimator = "ML")
Alt_Model_9 <- '
# Factor 1: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy & Teamwork Self-Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5 +
TSE_parcel1 + TSE_parcel2 + TSE_parcel3
# Factor 4: General Self-Efficacy
GSE =~ GSE_1 + GSE_2 + GSE_3 + GSE_4 + GSE_5 +
GSE_6 + GSE_7 + GSE_8
# Factor 5: Leadership Self-Efficacy
LSE =~ LSE_1 + LSE_2 + LSE_3 + LSE_4 + LSE_5 +
LSE_6 + LSE_7 + LSE_8
'
Alt_Model_9_fit <- cfa(Alt_Model_9, ConstructValidity_2, estimator = "ML")
Discriminant_Model_AltModel1 <- anova(DiscriminateValidity_Model_fit,
Alt_Model_1_fit)
Discriminant_Model_AltModel2 <- anova(DiscriminateValidity_Model_fit,
Alt_Model_2_fit)
Discriminant_Model_AltModel3 <- anova(DiscriminateValidity_Model_fit,
Alt_Model_3_fit)
Discriminant_Model_AltModel4 <- anova(DiscriminateValidity_Model_fit,
Alt_Model_4_fit)
Discriminant_Model_AltModel5 <- anova(DiscriminateValidity_Model_fit,
Alt_Model_5_fit)
Discriminant_Model_AltModel6 <- anova(DiscriminateValidity_Model_fit,
Alt_Model_6_fit)
Discriminant_Model_AltModel7 <- anova(DiscriminateValidity_Model_fit,
Alt_Model_7_fit)
Discriminant_Model_AltModel8 <- anova(DiscriminateValidity_Model_fit,
Alt_Model_8_fit)
Discriminant_Model_AltModel9 <- anova(DiscriminateValidity_Model_fit,
Alt_Model_9_fit)
# extract values based on column indices
Discriminant_Model <- Discriminant_Model_AltModel1[1, ]
Alt_Discriminant_AltModel1 <- Discriminant_Model_AltModel1[2, ]
Alt_Discriminant_AltModel2 <- Discriminant_Model_AltModel2[2, ]
Alt_Discriminant_AltModel3 <- Discriminant_Model_AltModel3[2, ]
Alt_Discriminant_AltModel4 <- Discriminant_Model_AltModel4[2, ]
Alt_Discriminant_AltModel5 <- Discriminant_Model_AltModel5[2, ]
Alt_Discriminant_AltModel6 <- Discriminant_Model_AltModel6[2, ]
Alt_Discriminant_AltModel7 <- Discriminant_Model_AltModel7[2, ]
Alt_Discriminant_AltModel8 <- Discriminant_Model_AltModel8[2, ]
Alt_Discriminant_AltModel9 <- Discriminant_Model_AltModel9[2, ]
discriminant_model_comparisons <- rbind(
Discriminant_Model,
Alt_Discriminant_AltModel1,
Alt_Discriminant_AltModel2,
Alt_Discriminant_AltModel3,
Alt_Discriminant_AltModel4,
Alt_Discriminant_AltModel5,
Alt_Discriminant_AltModel6,
Alt_Discriminant_AltModel7,
Alt_Discriminant_AltModel8,
Alt_Discriminant_AltModel9
)
# Print the data frame
print(discriminant_model_comparisons)
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff RMSEA
## DiscriminateValidity_Model_fit 449 13706 13964 900.37
## Alt_Model_1_fit 454 13960 14202 1164.28 263.91 0.51664
## Alt_Model_2_fit 454 13966 14208 1170.70 270.33 0.52300
## Alt_Model_3_fit 454 13920 14162 1125.17 224.79 0.47602
## Alt_Model_4_fit 454 14061 14303 1265.64 365.26 0.60943
## Alt_Model_5_fit 454 14155 14397 1359.77 459.40 0.68443
## Alt_Model_6_fit 454 14020 14262 1224.81 324.44 0.57386
## Alt_Model_7_fit 454 14305 14547 1509.96 609.58 0.78948
## Alt_Model_8_fit 454 14270 14512 1474.60 574.23 0.76605
## Alt_Model_9_fit 454 14107 14349 1311.48 411.10 0.64704
## Df diff Pr(>Chisq)
## DiscriminateValidity_Model_fit
## Alt_Model_1_fit 5 < 2.2e-16 ***
## Alt_Model_2_fit 5 < 2.2e-16 ***
## Alt_Model_3_fit 5 < 2.2e-16 ***
## Alt_Model_4_fit 5 < 2.2e-16 ***
## Alt_Model_5_fit 5 < 2.2e-16 ***
## Alt_Model_6_fit 5 < 2.2e-16 ***
## Alt_Model_7_fit 5 < 2.2e-16 ***
## Alt_Model_8_fit 5 < 2.2e-16 ***
## Alt_Model_9_fit 5 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## cfi srmr
## SixFactor 0.9233343 0.05001294
## Alt_5factor_Aw+GSE 0.8793583 0.09919066
## Alt_5factor_Aw+LSE 0.8782686 0.10270737
## Alt_5factor_Aw+TSE 0.8860025 0.08095873
## Alt_5factor_SR+GSE 0.8621437 0.10165963
## Alt_5factor_SR+LSE 0.8461551 0.12528597
## Alt_5factor_SR+TSE 0.8690781 0.08222891
## Alt_5factor_M+GSE 0.8206459 0.12702966
## Alt_5factor_M+LSE 0.8266514 0.11874971
## Alt_5factor_M+TSE 0.8543574 0.07512208
ConstructValidity_3 <- read_sav("Construct Validity (Replication Study).sav")
# Bias-Awareness Efficacy
ConstructValidity_3$AWARENESS <- rowMeans(ConstructValidity_3[, c("DSE_Aware_1", "DSE_Aware_2", "DSE_Aware_3")], na.rm = TRUE)
# Self-Regulation Efficacy
ConstructValidity_3$REGULATION <- rowMeans(ConstructValidity_3[, c("DSE_Regulate_1", "DSE_Regulate_2", "DSE_Regulate_3", "DSE_Regulate_4", "DSE_Regulate_5")], na.rm = TRUE)
# Intergroup-Management Efficacy
ConstructValidity_3$MANAGEMENT <- rowMeans(ConstructValidity_3[, c("DSE_Management_1", "DSE_Management_2", "DSE_Management_3", "DSE_Management_4", "DSE_Management_5")], na.rm = TRUE)
## Pro-Diversity Beliefs Scale
ConstructValidity_3$ProDiversity <- rowMeans(ConstructValidity_3[, c("ProDiversity_1", "ProDiversity_2", "ProDiversity_3", "ProDiversity_4")], na.rm = TRUE)
## Empathetic Concern
ConstructValidity_3$Empathy <- rowMeans(ConstructValidity_3[, c("Empathy_1", "Empathy_2", "Empathy_3", "Empathy_4")], na.rm = TRUE)
## Perspective Taking
ConstructValidity_3$PerspectiveTaking <- rowMeans(ConstructValidity_3[, c("PerspectiveTaking_1", "PerspectiveTaking_2", "PerspectiveTaking_3", "PerspectiveTaking_4", "PerspectiveTaking_5", "PerspectiveTaking_6")], na.rm = TRUE)
# Correlations
apa.cor.table(ConstructValidity_3[,c("AWARENESS", "REGULATION", "MANAGEMENT", "ProDiversity", "Empathy", "PerspectiveTaking")])
##
##
## Means, standard deviations, and correlations with confidence intervals
##
##
## Variable M SD 1 2 3 4
## 1. AWARENESS 3.93 0.81
##
## 2. REGULATION 4.11 0.72 .55**
## [.45, .64]
##
## 3. MANAGEMENT 3.56 1.04 .63** .67**
## [.54, .70] [.59, .74]
##
## 4. ProDiversity 5.72 1.29 .50** .37** .61**
## [.39, .60] [.25, .48] [.52, .69]
##
## 5. Empathy 3.68 0.95 .52** .44** .59** .73**
## [.41, .61] [.32, .54] [.50, .68] [.66, .79]
##
## 6. PerspectiveTaking 4.43 0.67 .36** .33** .41** .61**
## [.24, .47] [.21, .45] [.29, .51] [.52, .69]
##
## 5
##
##
##
##
##
##
##
##
##
##
##
##
##
##
## .49**
## [.38, .59]
##
##
## Note. M and SD are used to represent mean and standard deviation, respectively.
## Values in square brackets indicate the 95% confidence interval.
## The confidence interval is a plausible range of population correlations
## that could have caused the sample correlation (Cumming, 2014).
## * indicates p < .05. ** indicates p < .01.
##
ThreeFactor_model <- '
# Factor 1: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
'
ThreeFactor_fit <- cfa(ThreeFactor_model, ConstructValidity_3, estimator = "ML")
# plot CFA results
semPaths(ThreeFactor_fit, "std", weighted = FALSE, nCharNodes = 7,
shapeMan = "rectangle", sizeMan = 8, sizeMan2 = 5)
## Fit Indices:
##
## chisq df pvalue cfi srmr
## 189.528 62.000 0.000 0.934 0.047
## Standardized Factor Loadings:
##
## Awrnss Regltn Mngmnt
## DSE_Aware_1 0.863 0.000 0.000
## DSE_Aware_2 0.755 0.000 0.000
## DSE_Aware_3 0.805 0.000 0.000
## DSE_Regulate_1 0.000 0.820 0.000
## DSE_Regulate_2 0.000 0.770 0.000
## DSE_Regulate_3 0.000 0.713 0.000
## DSE_Regulate_4 0.000 0.763 0.000
## DSE_Regulate_5 0.000 0.873 0.000
## DSE_Management_1 0.000 0.000 0.804
## DSE_Management_2 0.000 0.000 0.804
## DSE_Management_3 0.000 0.000 0.889
## DSE_Management_4 0.000 0.000 0.854
## DSE_Management_5 0.000 0.000 0.852
##
##
## Explained Variance (R²):
##
## DSE_Aware_1 DSE_Aware_2 DSE_Aware_3 DSE_Regulate_1
## 0.745 0.570 0.647 0.672
## DSE_Regulate_2 DSE_Regulate_3 DSE_Regulate_4 DSE_Regulate_5
## 0.592 0.508 0.582 0.762
## DSE_Management_1 DSE_Management_2 DSE_Management_3 DSE_Management_4
## 0.646 0.647 0.791 0.729
## DSE_Management_5
## 0.726
OneFactor_model <- '
# One Factor: Bias-Awareness, Self-Regulation, & Intergroup-Management Efficacy
OneFactor =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3 +
DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5 +
DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
'
Alt_Model1_1factor_fit <- cfa(OneFactor_model, ConstructValidity_3, estimator = "ML")
## Fit Indices:
##
## chisq df pvalue cfi srmr
## 189.528 62.000 0.000 0.934 0.047
## Standardized Factor Loadings:
##
## Awrnss Regltn Mngmnt
## DSE_Aware_1 0.863 0.000 0.000
## DSE_Aware_2 0.755 0.000 0.000
## DSE_Aware_3 0.805 0.000 0.000
## DSE_Regulate_1 0.000 0.820 0.000
## DSE_Regulate_2 0.000 0.770 0.000
## DSE_Regulate_3 0.000 0.713 0.000
## DSE_Regulate_4 0.000 0.763 0.000
## DSE_Regulate_5 0.000 0.873 0.000
## DSE_Management_1 0.000 0.000 0.804
## DSE_Management_2 0.000 0.000 0.804
## DSE_Management_3 0.000 0.000 0.889
## DSE_Management_4 0.000 0.000 0.854
## DSE_Management_5 0.000 0.000 0.852
##
##
## Explained Variance (R²):
##
## DSE_Aware_1 DSE_Aware_2 DSE_Aware_3 DSE_Regulate_1
## 0.745 0.570 0.647 0.672
## DSE_Regulate_2 DSE_Regulate_3 DSE_Regulate_4 DSE_Regulate_5
## 0.592 0.508 0.582 0.762
## DSE_Management_1 DSE_Management_2 DSE_Management_3 DSE_Management_4
## 0.646 0.647 0.791 0.729
## DSE_Management_5
## 0.726
##
##
## Three-Factor vs One-Factor Model:
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff RMSEA Df diff
## ThreeFactor_fit 62 5902.7 5999.7 189.53
## Alt_Model1_1factor_fit 65 6231.4 6318.4 524.24 334.71 0.72562 3
## Pr(>Chisq)
## ThreeFactor_fit
## Alt_Model1_1factor_fit < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Alt_Model2_2factor <- '
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
Regulation_Management =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5 + DSE_Management_1 + DSE_Management_2 +
DSE_Management_3 + DSE_Management_4 + DSE_Management_5
'
### Fit Indices for Alternative 2-Factor Model #1
Alt_Model2_2factor_fit <- cfa(Alt_Model2_2factor, ConstructValidity_3)
#####
Alt_Model3_2factor <- '
Awareness_Regulation =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3 + DSE_Regulate_1 +
DSE_Regulate_2 + DSE_Regulate_3 + DSE_Regulate_4 + DSE_Regulate_5
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
'
### Fit Indices for Alternative 2-Factor Model #2
Alt_Model3_2factor_fit <- cfa(Alt_Model3_2factor, ConstructValidity_3)
#####
Alt_Model4_2factor <- '
Awareness_Management =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3 + DSE_Management_1 +
DSE_Management_2 + DSE_Management_3 + DSE_Management_4 + DSE_Management_5
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
'
### Fit Indices for Alternative 2-Factor Model #3
Alt_Model4_2factor_fit <- cfa(Alt_Model4_2factor, ConstructValidity_3)
Model_3vs1 <- anova(ThreeFactor_fit, Alt_Model1_1factor_fit)
Model_3vs2.1 <- anova(ThreeFactor_fit, Alt_Model2_2factor_fit)
Model_3vs2.2 <- anova(ThreeFactor_fit, Alt_Model3_2factor_fit)
Model_3vs2.3 <- anova(ThreeFactor_fit, Alt_Model4_2factor_fit)
Hypothesized_Model <- Model_3vs1[1, ] # first row contains the comparison of interest
Alt_Model1_1f <- Model_3vs1[2, ] # second row contains the comparison of interest
Alt_Model2_2f <- Model_3vs2.1[2, ] # self-regulatory and management efficacy = 1 factor
Alt_Model3_2f <- Model_3vs2.2[2, ] # awareness and self-regulatory efficacy = 1 factor
Alt_Model4_2f <- Model_3vs2.3[2, ] # awareness and management efficacy = 1 factor
model_comparisons <- rbind(Hypothesized_Model,Alt_Model1_1f,Alt_Model2_2f,Alt_Model3_2f,Alt_Model4_2f)
# Print the data frame
print(model_comparisons)
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff RMSEA Df diff
## ThreeFactor_fit 62 5902.7 5999.7 189.53
## Alt_Model1_1factor_fit 65 6231.4 6318.4 524.24 334.71 0.72562 3
## Alt_Model2_2factor_fit 64 6112.9 6203.3 403.79 214.26 0.71091 2
## Alt_Model3_2factor_fit 64 6067.8 6158.2 358.64 169.12 0.63079 2
## Alt_Model4_2factor_fit 64 6026.2 6116.6 317.04 127.51 0.54665 2
## Pr(>Chisq)
## ThreeFactor_fit
## Alt_Model1_1factor_fit < 2.2e-16 ***
## Alt_Model2_2factor_fit < 2.2e-16 ***
## Alt_Model3_2factor_fit < 2.2e-16 ***
## Alt_Model4_2factor_fit < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## cfi srmr
## ThreeFactor 0.9344963 0.04715030
## OneFactor 0.7641142 0.09211582
## Alt_2factor_SR+M 0.8254684 0.07800437
## Alt_2factor_Aw+SR 0.8486582 0.08024082
## Alt_2factor_Aw+M 0.8700297 0.07096009
# Average Variance Extracted
cat("Average Variance Extracted (AVE): \n")
## Average Variance Extracted (AVE):
AVE <- AVE(ThreeFactor_fit)
AVE
## Awareness Regulation Management
## 0.638 0.621 0.709
# Square Root of AVE
cat("\n Square Root of AVE:\n")
##
## Square Root of AVE:
AVEsqrt <- sqrt(AVE)
AVEsqrt["Awareness"]
## Awareness
## 0.7990596
AVEsqrt["Regulation"]
## Regulation
## 0.7882438
AVEsqrt["Management"]
## Management
## 0.8421174
# Maximum Squared Correlation
apa.cor.table(ConstructValidity_3[,c("AWARENESS", "REGULATION", "MANAGEMENT")])
##
##
## Means, standard deviations, and correlations with confidence intervals
##
##
## Variable M SD 1 2
## 1. AWARENESS 3.93 0.81
##
## 2. REGULATION 4.11 0.72 .55**
## [.45, .64]
##
## 3. MANAGEMENT 3.56 1.04 .63** .67**
## [.54, .70] [.59, .74]
##
##
## Note. M and SD are used to represent mean and standard deviation, respectively.
## Values in square brackets indicate the 95% confidence interval.
## The confidence interval is a plausible range of population correlations
## that could have caused the sample correlation (Cumming, 2014).
## * indicates p < .05. ** indicates p < .01.
##
max_sq_cor <- cor(ConstructValidity_3$AWARENESS,ConstructValidity_3$MANAGEMENT)^2
cat("Max Squared Correlation:", max_sq_cor, "\n")
## Max Squared Correlation: 0.3914351
## Fornell-Larcker Test
Awareness_vs_Regulation <- AVEsqrt["Awareness"] > max_sq_cor &&
AVEsqrt["Regulation"] > max_sq_cor
Awareness_vs_Management <- AVEsqrt["Awareness"] > max_sq_cor &&
AVEsqrt["Management"] > max_sq_cor
Regulation_vs_Management <- AVEsqrt["Regulation"] > max_sq_cor &&
AVEsqrt["Management"] > max_sq_cor
cat("Fornell–Larcker Criterion (√AVE > max_sq correlation → TRUE): \n")
## Fornell–Larcker Criterion (√AVE > max_sq correlation → TRUE):
cat("Awareness vs Regulation:", Awareness_vs_Regulation, "\n")
## Awareness vs Regulation: TRUE
cat("Awareness vs Management:", Awareness_vs_Management, "\n")
## Awareness vs Management: TRUE
cat("Regulation vs Management:", Regulation_vs_Management, "\n")
## Regulation vs Management: TRUE
# Compute and Print HTMT Values
HTMTresults <- htmt(ThreeFactor_model,ConstructValidity_3)
HTMTresults
## Awrnss Regltn Mngmnt
## Awareness 1.000
## Regulation 0.635 1.000
## Management 0.696 0.737 1.000
FourFactor_model <- '
# Factor 1: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
# Factor 4: Pro-Diversity Attitudes
Pro_Diversity =~ ProDiversity_1 + ProDiversity_2 +
ProDiversity_3 + ProDiversity_4
'
FourFactor_fit <- cfa(FourFactor_model, ConstructValidity_3, estimator = "ML")
## Fit Indices:
##
## chisq df pvalue cfi srmr
## 356.365 113.000 0.000 0.916 0.053
## Standardized Factor Loadings:
##
## Awrnss Regltn Mngmnt Pr_Dvr
## DSE_Aware_1 0.855 0.000 0.000 0.000
## DSE_Aware_2 0.768 0.000 0.000 0.000
## DSE_Aware_3 0.800 0.000 0.000 0.000
## DSE_Regulate_1 0.000 0.820 0.000 0.000
## DSE_Regulate_2 0.000 0.770 0.000 0.000
## DSE_Regulate_3 0.000 0.711 0.000 0.000
## DSE_Regulate_4 0.000 0.762 0.000 0.000
## DSE_Regulate_5 0.000 0.874 0.000 0.000
## DSE_Management_1 0.000 0.000 0.809 0.000
## DSE_Management_2 0.000 0.000 0.804 0.000
## DSE_Management_3 0.000 0.000 0.889 0.000
## DSE_Management_4 0.000 0.000 0.851 0.000
## DSE_Management_5 0.000 0.000 0.852 0.000
## ProDiversity_1 0.000 0.000 0.000 0.885
## ProDiversity_2 0.000 0.000 0.000 0.910
## ProDiversity_3 0.000 0.000 0.000 0.885
## ProDiversity_4 0.000 0.000 0.000 0.877
##
##
## Explained Variance (R²):
##
## DSE_Aware_1 DSE_Aware_2 DSE_Aware_3 DSE_Regulate_1
## 0.730 0.590 0.640 0.672
## DSE_Regulate_2 DSE_Regulate_3 DSE_Regulate_4 DSE_Regulate_5
## 0.593 0.506 0.581 0.764
## DSE_Management_1 DSE_Management_2 DSE_Management_3 DSE_Management_4
## 0.654 0.647 0.790 0.723
## DSE_Management_5 ProDiversity_1 ProDiversity_2 ProDiversity_3
## 0.725 0.784 0.828 0.783
## ProDiversity_4
## 0.770
# Average Variance Extracted
cat("Average Variance Extracted (AVE): \n")
## Average Variance Extracted (AVE):
AVE <- AVE(FourFactor_fit)
AVE
## Awareness Regulation Management Pro_Diversity
## 0.642 0.621 0.709 0.789
# Square Root of AVE
cat("\n Square Root of AVE:\n")
##
## Square Root of AVE:
AVEsqrt <- sqrt(AVE)
AVEsqrt["Awareness"]
## Awareness
## 0.8010305
AVEsqrt["Regulation"]
## Regulation
## 0.78814
AVEsqrt["Management"]
## Management
## 0.8420558
AVEsqrt["Pro_Diversity"]
## Pro_Diversity
## 0.8884849
# Maximum Squared Correlation
max_sq_cor <- cor(ConstructValidity_3$ProDiversity,ConstructValidity_3$MANAGEMENT)^2
cat("\n Max Squared Correlation:", max_sq_cor, "\n")
##
## Max Squared Correlation: 0.3780954
## Fornell-Larcker Test
Awareness_vs_ProDiversity <- AVEsqrt["Awareness"] > max_sq_cor &&
AVEsqrt["Pro_Diversity"] > max_sq_cor
Regulation_vs_ProDiversity <- AVEsqrt["Regulation"] > max_sq_cor &&
AVEsqrt["Pro_Diversity"] > max_sq_cor
Management_vs_ProDiversity <- AVEsqrt["Management"] > max_sq_cor &&
AVEsqrt["Pro_Diversity"] > max_sq_cor
cat("Fornell–Larcker Criterion (√AVE > max_sq correlation → TRUE): \n")
## Fornell–Larcker Criterion (√AVE > max_sq correlation → TRUE):
cat("Awareness vs ProDiversity:", Awareness_vs_ProDiversity, "\n")
## Awareness vs ProDiversity: TRUE
cat("Regulation vs ProDiversity:", Regulation_vs_ProDiversity, "\n")
## Regulation vs ProDiversity: TRUE
cat("Management vs ProDiversity:", Management_vs_ProDiversity, "\n")
## Management vs ProDiversity: TRUE
# Compute and Print HTMT Values
library(semTools)
HTMTresults <- semTools::htmt(FourFactor_model, ConstructValidity_3)
print(HTMTresults)
## Awrnss Regltn Mngmnt Pr_Dvr
## Awareness 1.000
## Regulation 0.635 1.000
## Management 0.696 0.737 1.000
## Pro_Diversity 0.538 0.400 0.655 1.000
Note: Bias-Awareness Efficacy & Pro-Diversity Attitudes are combined into single factor
Alt_Model_1_Discriminant_Validity <- '
# Factor 1: Bias-Awareness Efficacy & Pro-Diversity Attitudes
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3 +
ProDiversity_1 + ProDiversity_2 +
ProDiversity_3 + ProDiversity_4
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
'
### Fit Indices for Alternative One-Factor Model (A1)
Alt_Model_1_Discriminant_Validity_fit <- cfa(Alt_Model_1_Discriminant_Validity, ConstructValidity_3)
Note: Self-Regulation Efficacy & Pro-Diversity Attitudes are combined into single factor
Alt_Model_2_Discriminant_Validity <- '
# Factor 1: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy & Pro-Diversity Attitudes
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5 +
ProDiversity_1 + ProDiversity_2 +
ProDiversity_3 + ProDiversity_4
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
'
### Fit Indices for Alternative Two-Factor Model (A2)
Alt_Model_2_Discriminant_Validity_fit <- cfa(Alt_Model_2_Discriminant_Validity, ConstructValidity_3)
Note: Intergroup-Management Efficacy & Pro-Diversity Attitudes are combined into single factor
Alt_Model_3_Discriminant_Validity <- '
# Factor 1: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy & Pro-Diversity Attitudes
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5 +
ProDiversity_1 + ProDiversity_2 +
ProDiversity_3 + ProDiversity_4
'
### Fit Indices for Alternative Two-Factor Model (A3)
Alt_Model_3_Discriminant_Validity_fit <- cfa(Alt_Model_3_Discriminant_Validity, ConstructValidity_3)
Discriminant_Model_4vs3.1 <- anova(FourFactor_fit,
Alt_Model_1_Discriminant_Validity_fit)
Discriminant_Model_4vs3.2 <- anova(FourFactor_fit,
Alt_Model_2_Discriminant_Validity_fit)
Discriminant_Model_4vs3.3 <- anova(FourFactor_fit,
Alt_Model_3_Discriminant_Validity_fit)
# extract values based on column indices
Hypothesized_Discriminant_Model <- Discriminant_Model_4vs3.1[1, ]
Alt_Discriminant_Model1_1f <- Discriminant_Model_4vs3.1[2, ]
Alt_Discriminant_Model2_2f <- Discriminant_Model_4vs3.2[2, ]
Alt_Discriminant_Model3_2f <- Discriminant_Model_4vs3.3[2, ]
discriminant_model_comparisons <- rbind(Hypothesized_Discriminant_Model,
Alt_Discriminant_Model1_1f,
Alt_Discriminant_Model2_2f,
Alt_Discriminant_Model3_2f
)
# Print the data frame
print(discriminant_model_comparisons)
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff
## FourFactor_fit 113 8030.1 8164.0 356.37
## Alt_Model_1_Discriminant_Validity_fit 116 8250.9 8374.8 583.17 226.81
## Alt_Model_2_Discriminant_Validity_fit 116 8579.4 8703.2 911.65 555.28
## Alt_Model_3_Discriminant_Validity_fit 116 8451.9 8575.7 784.15 427.78
## RMSEA Df diff Pr(>Chisq)
## FourFactor_fit
## Alt_Model_1_Discriminant_Validity_fit 0.59603 3 < 2.2e-16 ***
## Alt_Model_2_Discriminant_Validity_fit 0.93629 3 < 2.2e-16 ***
## Alt_Model_3_Discriminant_Validity_fit 0.82113 3 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## cfi srmr
## FourFactor 0.9159035 0.05274644
## Alt_3factor_Aw+PD 0.8385658 0.11890085
## Alt_3factor_SR+PD 0.7250597 0.17099332
## Alt_3factor_M+PD 0.7691165 0.09244667
DiscriminateValidity_Model <- '
# Factor 1: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
# Factor 4: Empathetic Concern
Empathetic_Concern =~ Empathy_1 + Empathy_2 + Empathy_3 + Empathy_4
# Factor 5: Perspective Taking
Perspective_Taking =~ PerspectiveTaking_1 + PerspectiveTaking_2 + PerspectiveTaking_3 + PerspectiveTaking_4 +
PerspectiveTaking_5 + PerspectiveTaking_6
'
DiscriminateValidity_Model_fit <- cfa(DiscriminateValidity_Model, ConstructValidity_3, estimator = "ML")
## Fit Indices:
##
## chisq df pvalue cfi srmr
## 548.128 220.000 0.000 0.919 0.047
## Standardized Factor Loadings:
##
## Awrnss Regltn Mngmnt Empt_C Prsp_T
## DSE_Aware_1 0.857 0.000 0.000 0.000 0.000
## DSE_Aware_2 0.768 0.000 0.000 0.000 0.000
## DSE_Aware_3 0.803 0.000 0.000 0.000 0.000
## DSE_Regulate_1 0.000 0.826 0.000 0.000 0.000
## DSE_Regulate_2 0.000 0.763 0.000 0.000 0.000
## DSE_Regulate_3 0.000 0.702 0.000 0.000 0.000
## DSE_Regulate_4 0.000 0.752 0.000 0.000 0.000
## DSE_Regulate_5 0.000 0.867 0.000 0.000 0.000
## DSE_Management_1 0.000 0.000 0.799 0.000 0.000
## DSE_Management_2 0.000 0.000 0.794 0.000 0.000
## DSE_Management_3 0.000 0.000 0.884 0.000 0.000
## DSE_Management_4 0.000 0.000 0.857 0.000 0.000
## DSE_Management_5 0.000 0.000 0.848 0.000 0.000
## Empathy_1 0.000 0.000 0.000 0.890 0.000
## Empathy_2 0.000 0.000 0.000 0.932 0.000
## Empathy_3 0.000 0.000 0.000 0.931 0.000
## Empathy_4 0.000 0.000 0.000 0.848 0.000
## PerspectiveTaking_1 0.000 0.000 0.000 0.000 0.818
## PerspectiveTaking_2 0.000 0.000 0.000 0.000 0.838
## PerspectiveTaking_3 0.000 0.000 0.000 0.000 0.780
## PerspectiveTaking_4 0.000 0.000 0.000 0.000 0.893
## PerspectiveTaking_5 0.000 0.000 0.000 0.000 0.845
## PerspectiveTaking_6 0.000 0.000 0.000 0.000 0.878
##
##
## Explained Variance (R²):
##
## DSE_Aware_1 DSE_Aware_2 DSE_Aware_3 DSE_Regulate_1
## 0.734 0.589 0.645 0.683
## DSE_Regulate_2 DSE_Regulate_3 DSE_Regulate_4 DSE_Regulate_5
## 0.583 0.493 0.566 0.752
## DSE_Management_1 DSE_Management_2 DSE_Management_3 DSE_Management_4
## 0.638 0.631 0.781 0.735
## DSE_Management_5 Empathy_1 Empathy_2 Empathy_3
## 0.720 0.792 0.868 0.867
## Empathy_4 PerspectiveTaking_1 PerspectiveTaking_2 PerspectiveTaking_3
## 0.719 0.668 0.702 0.608
## PerspectiveTaking_4 PerspectiveTaking_5 PerspectiveTaking_6
## 0.797 0.714 0.772
# Average Variance Extracted
cat("Average Variance Extracted (AVE): \n")
## Average Variance Extracted (AVE):
AVE <- AVE(DiscriminateValidity_Model_fit)
AVE
## Awareness Regulation Management Empathetic_Concern
## 0.644 0.612 0.703 0.805
## Perspective_Taking
## 0.712
# Square Root of AVE
cat("\n Square Root of AVE:\n")
##
## Square Root of AVE:
AVEsqrt <- sqrt(AVE)
AVEsqrt["Awareness"]
## Awareness
## 0.8023375
AVEsqrt["Regulation"]
## Regulation
## 0.7824537
AVEsqrt["Management"]
## Management
## 0.8384341
AVEsqrt["Empathy"]
## <NA>
## NA
AVEsqrt["PerspectiveTaking"]
## <NA>
## NA
# Maximum Squared Correlation
max_sq_cor <- cor(ConstructValidity_3$Empathy,ConstructValidity_3$MANAGEMENT)^2
cat("Max Squared Correlation:", max_sq_cor, "\n")
## Max Squared Correlation: NA
## Fornell-Larcker Test
Awareness_vs_Empathy <- AVEsqrt["Awareness"] > max_sq_cor &&
AVEsqrt["Empathy"] > max_sq_cor
Regulation_vs_Empathy <- AVEsqrt["Regulation"] > max_sq_cor &&
AVEsqrt["Empathy"] > max_sq_cor
Management_vs_Empathy <- AVEsqrt["Management"] > max_sq_cor &&
AVEsqrt["Empathy"] > max_sq_cor
Awareness_vs_PerspectiveTaking <- AVEsqrt["Awareness"] > max_sq_cor &&
AVEsqrt["PerspectiveTaking"] > max_sq_cor
Regulation_vs_PerspectiveTaking <- AVEsqrt["Regulation"] > max_sq_cor &&
AVEsqrt["PerspectiveTaking"] > max_sq_cor
Management_vs_PerspectiveTaking <- AVEsqrt["Management"] > max_sq_cor &&
AVEsqrt["PerspectiveTaking"] > max_sq_cor
cat("Fornell–Larcker Criterion (√AVE > max_sq correlation → TRUE): \n")
## Fornell–Larcker Criterion (√AVE > max_sq correlation → TRUE):
cat("Awareness vs Empathy:", Awareness_vs_Empathy, "\n")
## Awareness vs Empathy: NA
cat("Regulation vs Empathy:", Regulation_vs_Empathy, "\n")
## Regulation vs Empathy: NA
cat("Management vs Empathy:", Management_vs_Empathy, "\n")
## Management vs Empathy: NA
cat("Awareness vs PerspectiveTaking:", Awareness_vs_PerspectiveTaking, "\n")
## Awareness vs PerspectiveTaking: NA
cat("Regulation vs PerspectiveTaking:", Regulation_vs_PerspectiveTaking, "\n")
## Regulation vs PerspectiveTaking: NA
cat("Management vs PerspectiveTaking:", Management_vs_PerspectiveTaking, "\n")
## Management vs PerspectiveTaking: NA
# Compute and Print HTMT Values
library(semTools)
HTMTresults <- semTools::htmt(FourFactor_model, ConstructValidity_3)
print(HTMTresults)
## Awrnss Regltn Mngmnt Pr_Dvr
## Awareness 1.000
## Regulation 0.635 1.000
## Management 0.696 0.737 1.000
## Pro_Diversity 0.538 0.400 0.655 1.000
Alt_Model_1 <- '
# Factor 1: Bias-Awareness Efficacy & Empathetic Concern
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3 +
Empathy_1 + Empathy_2 + Empathy_3 + Empathy_4
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
# Factor 4: Perspective Taking
Perspective_Taking =~ PerspectiveTaking_1 + PerspectiveTaking_2 + PerspectiveTaking_3 + PerspectiveTaking_4 + PerspectiveTaking_5 + PerspectiveTaking_6
'
Alt_Model_1_fit <- cfa(Alt_Model_1, ConstructValidity_3, estimator = "ML")
Alt_Model_2 <- '
# Factor 2: Bias-Awareness Efficacy & Perspective Taking
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3 +
PerspectiveTaking_1 + PerspectiveTaking_2 + PerspectiveTaking_3 +
PerspectiveTaking_4 + PerspectiveTaking_5 + PerspectiveTaking_6
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
# Factor 4: Empathetic Concern
Empathetic_Concern =~ Empathy_1 + Empathy_2 + Empathy_3 + Empathy_4
'
Alt_Model_2_fit <- cfa(Alt_Model_2, ConstructValidity_3, estimator = "ML")
Alt_Model_3 <- '
# Factor 2: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy & Empathetic Concern
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5 +
Empathy_1 + Empathy_2 + Empathy_3 + Empathy_4
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
# Factor 4: Perspective Taking
Perspective_Taking =~ PerspectiveTaking_1 + PerspectiveTaking_2 + PerspectiveTaking_3 + PerspectiveTaking_4 +
PerspectiveTaking_5 + PerspectiveTaking_6
'
Alt_Model_3_fit <- cfa(Alt_Model_3, ConstructValidity_3, estimator = "ML")
Alt_Model_4 <- '
# Factor 1: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy & Perspective Taking
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5 +
PerspectiveTaking_1 + PerspectiveTaking_2 + PerspectiveTaking_3 +
PerspectiveTaking_4 + PerspectiveTaking_5 + PerspectiveTaking_6
# Factor 3: Intergroup-Management Efficacy
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
# Factor 4: Empathetic Concern
Empathetic_Concern =~ Empathy_1 + Empathy_2 + Empathy_3 + Empathy_4
'
Alt_Model_4_fit <- cfa(Alt_Model_4, ConstructValidity_3, estimator = "ML")
Alt_Model_5 <- '
# Factor 2: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy & Empathetic Concern
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5
# Factor 4: Perspective Taking
Perspective_Taking =~ PerspectiveTaking_1 + PerspectiveTaking_2 + PerspectiveTaking_3 + PerspectiveTaking_4 +
PerspectiveTaking_5 + PerspectiveTaking_6
'
Alt_Model_5_fit <- cfa(Alt_Model_5, ConstructValidity_3, estimator = "ML")
Alt_Model_6 <- '
# Factor 2: Bias-Awareness Efficacy
Awareness =~ DSE_Aware_1 + DSE_Aware_2 + DSE_Aware_3
# Factor 2: Self-Regulation Efficacy
Regulation =~ DSE_Regulate_1 + DSE_Regulate_2 + DSE_Regulate_3 +
DSE_Regulate_4 + DSE_Regulate_5
# Factor 3: Intergroup-Management Efficacy & Perspective Taking
Management =~ DSE_Management_1 + DSE_Management_2 + DSE_Management_3 +
DSE_Management_4 + DSE_Management_5 +
PerspectiveTaking_1 + PerspectiveTaking_2 + PerspectiveTaking_3 +
PerspectiveTaking_4 + PerspectiveTaking_5 + PerspectiveTaking_6
# Factor 4: Empathetic Concern
Empathetic_Concern =~ Empathy_1 + Empathy_2 + Empathy_3 + Empathy_4
'
Alt_Model_6_fit <- cfa(Alt_Model_6, ConstructValidity_3, estimator = "ML")
Discriminant_Model_AltModel1 <- anova(DiscriminateValidity_Model_fit,
Alt_Model_1_fit)
Discriminant_Model_AltModel2 <- anova(DiscriminateValidity_Model_fit,
Alt_Model_2_fit)
Discriminant_Model_AltModel3 <- anova(DiscriminateValidity_Model_fit,
Alt_Model_3_fit)
Discriminant_Model_AltModel4 <- anova(DiscriminateValidity_Model_fit,
Alt_Model_4_fit)
Discriminant_Model_AltModel5 <- anova(DiscriminateValidity_Model_fit,
Alt_Model_5_fit)
Discriminant_Model_AltModel6 <- anova(DiscriminateValidity_Model_fit,
Alt_Model_6_fit)
# extract values based on column indices
Discriminant_Model <- Discriminant_Model_AltModel1[1, ]
Alt_Discriminant_AltModel1 <- Discriminant_Model_AltModel1[2, ]
Alt_Discriminant_AltModel2 <- Discriminant_Model_AltModel2[2, ]
Alt_Discriminant_AltModel3 <- Discriminant_Model_AltModel3[2, ]
Alt_Discriminant_AltModel4 <- Discriminant_Model_AltModel4[2, ]
Alt_Discriminant_AltModel5 <- Discriminant_Model_AltModel5[2, ]
Alt_Discriminant_AltModel6 <- Discriminant_Model_AltModel6[2, ]
discriminant_model_comparisons <- rbind(
Discriminant_Model,
Alt_Discriminant_AltModel1,
Alt_Discriminant_AltModel2,
Alt_Discriminant_AltModel3,
Alt_Discriminant_AltModel4,
Alt_Discriminant_AltModel5,
Alt_Discriminant_AltModel6
)
# Print the data frame
print(discriminant_model_comparisons)
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff RMSEA
## DiscriminateValidity_Model_fit 220 9220.7 9407.9 548.13
## Alt_Model_1_fit 224 9450.4 9624.2 785.80 237.67 0.52869
## Alt_Model_2_fit 224 9534.0 9707.8 869.42 321.29 0.61606
## Alt_Model_3_fit 224 9704.1 9877.9 1039.53 491.41 0.76356
## Alt_Model_4_fit 224 9771.0 9944.8 1106.46 558.33 0.81429
## DiscriminateValidity_Model_fit1 220 9220.7 9407.9 548.13 167.76 0.07786
## Alt_Model_6_fit 224 9984.4 10158.2 1319.85 771.73 0.95830
## Df diff Pr(>Chisq)
## DiscriminateValidity_Model_fit
## Alt_Model_1_fit 4 < 2.2e-16 ***
## Alt_Model_2_fit 4 < 2.2e-16 ***
## Alt_Model_3_fit 4 < 2.2e-16 ***
## Alt_Model_4_fit 4 < 2.2e-16 ***
## DiscriminateValidity_Model_fit1 74 3.088e-09 ***
## Alt_Model_6_fit 4 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## cfi srmr
## SixFactor 0.9192006 0.04685369
## Alt_5factor_Aw+EMP 0.8616601 0.09466963
## Alt_5factor_Aw+PT 0.8410704 0.13535706
## Alt_5factor_SR+EMP 0.7991799 0.12423063
## Alt_5factor_SR+PT 0.7827010 0.16021334
## Alt_5factor_M+EMP 0.9240949 0.04616654
## Alt_5factor_M+PT 0.7301531 0.11297820