Psychometric Evaluation Using Relative Excess Correlations.
recmetrics
The goal of recmetrics is to provide users with the ability to conduct psychometric evaluation without relying on assumptions of the latent variable structure following the work of VanderWeele and Padgett (2024).
VanderWeele, T. J., & Padgett, R. (2024). Novel Psychometric Indicator Assessments: The Relative Excess Correlation and Associated Matrices. Preprint PsyArXiv: https://doi.org/10.31234/osf.io/rnbk5
Installation
install.packages("recmetrics")
You can install the development version of recmetrics from GitHub with:
# install.packages("devtools")
devtools::install_github("noah-padgett/recmetrics")
Example
This is a basic example which shows you how to provide an evaluation of the interval structure of a set of items on a survey similar to confirmatory factor analysis. Using the a prior groups of items on each domain, we can construct a pattern matrix of the relative excess correlations.
library(recmetrics)
# Use the SCWB data example
mylist <- list(
domain_goodrel = c("cwbcloserel", "cwbrespect", "cwbtrust", "cwbmutuality"),
domain_prolead = c("cwbbeneficence", "cwbintegrity", "cwbcompetence", "cwbvision"),
domain_healthyprac = c("cwbrelgrowth", "cwbfairness", "cwbsustenance", "cwbachieve"),
domain_satcomm = c("cwbsatisf", "cwbvalue", "cwbbelonging", "cwbwelcome"),
domain_strongmiss = c("cwbpurpose", "cwbcontrib", "cwbinterconn", "cwbsynergy")
)
myvar <- c(unlist(mylist))
# Generate ORC matrix
cor.orc( SCWB[,myvar] )
#> cwbcloserel cwbrespect cwbtrust cwbmutuality cwbbeneficence
#> cwbcloserel 1.00 0.35 0.34 0.22 -0.13
#> cwbrespect 0.35 1.00 0.61 0.35 -0.23
#> cwbtrust 0.34 0.61 1.00 0.48 -0.20
#> cwbmutuality 0.22 0.35 0.48 1.00 -0.18
#> cwbbeneficence -0.13 -0.23 -0.20 -0.18 1.00
#> cwbintegrity -0.23 -0.19 -0.21 -0.13 0.55
#> cwbcompetence -0.22 -0.22 -0.27 -0.31 0.40
#> cwbvision -0.24 -0.26 -0.22 -0.18 0.32
#> cwbrelgrowth -0.06 -0.34 -0.23 -0.20 0.11
#> cwbfairness -0.24 -0.09 -0.07 -0.20 0.11
#> cwbsustenance -0.21 -0.23 -0.16 -0.21 -0.02
#> cwbachieve -0.25 -0.29 -0.19 -0.17 0.03
#> cwbsatisf 0.10 0.13 0.26 0.16 -0.21
#> cwbvalue 0.01 -0.02 -0.10 -0.03 -0.22
#> cwbbelonging 0.03 0.10 0.02 -0.02 -0.15
#> cwbwelcome 0.03 0.18 0.08 -0.06 -0.22
#> cwbpurpose -0.16 -0.02 -0.14 -0.12 -0.26
#> cwbcontrib -0.22 -0.22 -0.30 -0.15 -0.10
#> cwbinterconn -0.11 -0.22 -0.28 -0.12 -0.13
#> cwbsynergy -0.20 -0.34 -0.37 -0.18 -0.13
#> cwbintegrity cwbcompetence cwbvision cwbrelgrowth cwbfairness
#> cwbcloserel -0.23 -0.22 -0.237 -0.06 -0.241
#> cwbrespect -0.19 -0.22 -0.255 -0.34 -0.089
#> cwbtrust -0.21 -0.27 -0.217 -0.23 -0.067
#> cwbmutuality -0.13 -0.31 -0.175 -0.20 -0.200
#> cwbbeneficence 0.55 0.40 0.325 0.11 0.115
#> cwbintegrity 1.00 0.42 0.367 -0.04 0.075
#> cwbcompetence 0.42 1.00 0.488 -0.01 0.025
#> cwbvision 0.37 0.49 1.000 0.14 0.106
#> cwbrelgrowth -0.04 -0.01 0.138 1.00 0.208
#> cwbfairness 0.08 0.03 0.106 0.21 1.000
#> cwbsustenance -0.02 0.07 0.001 0.14 0.246
#> cwbachieve 0.07 0.11 0.117 0.15 0.218
#> cwbsatisf -0.20 -0.22 -0.217 -0.20 -0.054
#> cwbvalue -0.24 -0.17 -0.240 -0.17 -0.146
#> cwbbelonging -0.12 -0.10 -0.122 -0.15 0.003
#> cwbwelcome -0.18 -0.10 -0.201 -0.25 -0.103
#> cwbpurpose -0.11 -0.14 -0.205 -0.15 -0.150
#> cwbcontrib -0.06 -0.13 -0.166 0.04 -0.098
#> cwbinterconn -0.20 -0.11 -0.108 0.02 -0.156
#> cwbsynergy -0.16 -0.12 -0.090 0.08 -0.212
#> cwbsustenance cwbachieve cwbsatisf cwbvalue cwbbelonging
#> cwbcloserel -0.208 -0.25 0.10 0.011 0.034
#> cwbrespect -0.230 -0.29 0.13 -0.015 0.097
#> cwbtrust -0.165 -0.19 0.26 -0.096 0.021
#> cwbmutuality -0.209 -0.17 0.16 -0.034 -0.021
#> cwbbeneficence -0.022 0.03 -0.21 -0.221 -0.153
#> cwbintegrity -0.018 0.07 -0.20 -0.235 -0.117
#> cwbcompetence 0.070 0.11 -0.22 -0.169 -0.096
#> cwbvision 0.001 0.12 -0.22 -0.240 -0.122
#> cwbrelgrowth 0.143 0.15 -0.20 -0.175 -0.152
#> cwbfairness 0.246 0.22 -0.05 -0.146 0.003
#> cwbsustenance 1.000 0.54 -0.04 -0.074 -0.225
#> cwbachieve 0.537 1.00 -0.12 -0.125 -0.246
#> cwbsatisf -0.035 -0.12 1.00 0.297 0.079
#> cwbvalue -0.074 -0.13 0.30 1.000 -0.009
#> cwbbelonging -0.225 -0.25 0.08 -0.009 1.000
#> cwbwelcome -0.212 -0.23 0.18 0.077 0.410
#> cwbpurpose -0.091 -0.10 0.09 0.088 0.235
#> cwbcontrib -0.038 0.07 -0.11 0.073 -0.078
#> cwbinterconn -0.064 -0.10 -0.37 -0.066 -0.131
#> cwbsynergy -0.063 -0.03 -0.37 -0.001 -0.246
#> cwbwelcome cwbpurpose cwbcontrib cwbinterconn cwbsynergy
#> cwbcloserel 0.03 -0.16 -0.22 -0.11 -0.197
#> cwbrespect 0.18 -0.02 -0.22 -0.22 -0.341
#> cwbtrust 0.08 -0.14 -0.30 -0.28 -0.366
#> cwbmutuality -0.06 -0.12 -0.15 -0.12 -0.179
#> cwbbeneficence -0.22 -0.26 -0.10 -0.13 -0.128
#> cwbintegrity -0.18 -0.11 -0.06 -0.20 -0.157
#> cwbcompetence -0.10 -0.14 -0.13 -0.11 -0.118
#> cwbvision -0.20 -0.21 -0.17 -0.11 -0.090
#> cwbrelgrowth -0.25 -0.15 0.04 0.02 0.078
#> cwbfairness -0.10 -0.15 -0.10 -0.16 -0.212
#> cwbsustenance -0.21 -0.09 -0.04 -0.06 -0.063
#> cwbachieve -0.23 -0.10 0.07 -0.10 -0.030
#> cwbsatisf 0.18 0.09 -0.11 -0.37 -0.367
#> cwbvalue 0.08 0.09 0.07 -0.07 -0.001
#> cwbbelonging 0.41 0.24 -0.08 -0.13 -0.246
#> cwbwelcome 1.00 0.36 -0.01 -0.24 -0.273
#> cwbpurpose 0.36 1.00 0.13 -0.04 -0.035
#> cwbcontrib -0.01 0.13 1.00 0.14 0.250
#> cwbinterconn -0.24 -0.04 0.14 1.00 0.646
#> cwbsynergy -0.27 -0.04 0.25 0.65 1.000
# Generate REC matrix
cor.rec( SCWB[,myvar] )
#> cwbcloserel cwbrespect cwbtrust cwbmutuality cwbbeneficence
#> cwbcloserel NA 0.18 0.181 0.129 -0.034
#> cwbrespect 0.181 NA 0.265 0.164 -0.069
#> cwbtrust 0.181 0.27 NA 0.225 -0.061
#> cwbmutuality 0.129 0.16 0.225 NA -0.050
#> cwbbeneficence -0.034 -0.07 -0.061 -0.050 NA
#> cwbintegrity -0.076 -0.06 -0.068 -0.032 0.224
#> cwbcompetence -0.070 -0.07 -0.089 -0.104 0.162
#> cwbvision -0.081 -0.08 -0.068 -0.052 0.142
#> cwbrelgrowth -0.003 -0.11 -0.063 -0.060 0.064
#> cwbfairness -0.078 -0.02 -0.008 -0.059 0.055
#> cwbsustenance -0.067 -0.07 -0.044 -0.063 0.007
#> cwbachieve -0.083 -0.09 -0.055 -0.045 0.023
#> cwbsatisf 0.075 0.07 0.128 0.088 -0.066
#> cwbvalue 0.035 0.02 -0.015 0.011 -0.071
#> cwbbelonging 0.037 0.05 0.027 0.012 -0.039
#> cwbwelcome 0.041 0.09 0.052 -0.004 -0.066
#> cwbpurpose -0.045 0.01 -0.032 -0.027 -0.081
#> cwbcontrib -0.074 -0.06 -0.100 -0.041 -0.023
#> cwbinterconn -0.024 -0.08 -0.107 -0.029 -0.045
#> cwbsynergy -0.078 -0.14 -0.157 -0.058 -0.041
#> cwbintegrity cwbcompetence cwbvision cwbrelgrowth cwbfairness
#> cwbcloserel -0.076 -0.07 -0.08 -0.003 -0.078
#> cwbrespect -0.056 -0.07 -0.08 -0.107 -0.016
#> cwbtrust -0.068 -0.09 -0.07 -0.063 -0.008
#> cwbmutuality -0.032 -0.10 -0.05 -0.060 -0.059
#> cwbbeneficence 0.224 0.16 0.14 0.064 0.055
#> cwbintegrity NA 0.17 0.16 0.005 0.040
#> cwbcompetence 0.171 NA 0.20 0.016 0.021
#> cwbvision 0.160 0.20 NA 0.077 0.054
#> cwbrelgrowth 0.005 0.02 0.08 NA 0.101
#> cwbfairness 0.040 0.02 0.05 0.101 NA
#> cwbsustenance 0.007 0.04 0.02 0.075 0.103
#> cwbachieve 0.034 0.05 0.06 0.075 0.086
#> cwbsatisf -0.064 -0.07 -0.07 -0.051 -0.005
#> cwbvalue -0.079 -0.05 -0.08 -0.055 -0.040
#> cwbbelonging -0.029 -0.02 -0.03 -0.035 0.015
#> cwbwelcome -0.055 -0.02 -0.06 -0.076 -0.023
#> cwbpurpose -0.027 -0.04 -0.06 -0.041 -0.039
#> cwbcontrib -0.009 -0.04 -0.05 0.029 -0.022
#> cwbinterconn -0.074 -0.03 -0.03 0.018 -0.055
#> cwbsynergy -0.048 -0.03 -0.02 0.039 -0.084
#> cwbsustenance cwbachieve cwbsatisf cwbvalue cwbbelonging
#> cwbcloserel -0.0666 -0.08 0.075 0.035 0.04
#> cwbrespect -0.0681 -0.09 0.071 0.019 0.05
#> cwbtrust -0.0442 -0.06 0.128 -0.015 0.03
#> cwbmutuality -0.0630 -0.05 0.088 0.011 0.01
#> cwbbeneficence 0.0066 0.02 -0.066 -0.071 -0.04
#> cwbintegrity 0.0074 0.03 -0.064 -0.079 -0.03
#> cwbcompetence 0.0400 0.05 -0.072 -0.051 -0.02
#> cwbvision 0.0153 0.06 -0.070 -0.083 -0.03
#> cwbrelgrowth 0.0745 0.08 -0.051 -0.055 -0.03
#> cwbfairness 0.1033 0.09 -0.005 -0.040 0.02
#> cwbsustenance NA 0.20 0.005 -0.012 -0.07
#> cwbachieve 0.2036 NA -0.030 -0.033 -0.07
#> cwbsatisf 0.0051 -0.03 NA 0.151 0.05
#> cwbvalue -0.0118 -0.03 0.151 NA 0.02
#> cwbbelonging -0.0650 -0.07 0.047 0.017 NA
#> cwbwelcome -0.0630 -0.07 0.090 0.054 0.17
#> cwbpurpose -0.0183 -0.02 0.057 0.056 0.10
#> cwbcontrib -0.0008 0.04 -0.021 0.051 -0.01
#> cwbinterconn -0.0135 -0.03 -0.159 -0.005 -0.04
#> cwbsynergy -0.0117 0.01 -0.158 0.040 -0.10
#> cwbwelcome cwbpurpose cwbcontrib cwbinterconn cwbsynergy
#> cwbcloserel 0.041 -0.045 -0.0740 -0.024 -0.08
#> cwbrespect 0.089 0.012 -0.0631 -0.076 -0.14
#> cwbtrust 0.052 -0.032 -0.1000 -0.107 -0.16
#> cwbmutuality -0.004 -0.027 -0.0413 -0.029 -0.06
#> cwbbeneficence -0.066 -0.081 -0.0230 -0.045 -0.04
#> cwbintegrity -0.055 -0.027 -0.0090 -0.074 -0.05
#> cwbcompetence -0.022 -0.036 -0.0358 -0.032 -0.03
#> cwbvision -0.062 -0.064 -0.0522 -0.031 -0.02
#> cwbrelgrowth -0.076 -0.041 0.0292 0.018 0.04
#> cwbfairness -0.023 -0.039 -0.0221 -0.055 -0.08
#> cwbsustenance -0.063 -0.018 -0.0008 -0.013 -0.01
#> cwbachieve -0.067 -0.021 0.0403 -0.030 0.01
#> cwbsatisf 0.090 0.057 -0.0207 -0.159 -0.16
#> cwbvalue 0.054 0.056 0.0508 -0.005 0.04
#> cwbbelonging 0.166 0.103 -0.0113 -0.037 -0.10
#> cwbwelcome NA 0.154 0.0165 -0.090 -0.11
#> cwbpurpose 0.154 NA 0.0676 0.001 0.01
#> cwbcontrib 0.016 0.068 NA 0.092 0.17
#> cwbinterconn -0.090 0.001 0.0916 NA 0.54
#> cwbsynergy -0.110 0.011 0.1696 0.543 NA
# Generate within-between mean REC
rec.avg.wb.domains(SCWB, mylist)
#> Domain Avg_Rec_Within_Domain Avg_REC_Between_Domains
#> 1 Domain 1 0.19 -0.04
#> 2 Domain 2 0.18 -0.03
#> 3 Domain 3 0.11 -0.02
#> 4 Domain 4 0.09 -0.02
#> 5 Domain 5 0.15 -0.03
# Generate pattern matrix of REC of an item within domain
rec.pattern.matrix(SCWB, mylist)
#> Item Domain1 Domain2 Domain3 Domain4 Domain5
#> 1 cwbcloserel 0.16 -0.07 -0.06 0.047 -0.0553
#> 2 cwbrespect 0.20 -0.07 -0.07 0.058 -0.0669
#> 3 cwbtrust 0.22 -0.07 -0.04 0.048 -0.0990
#> 4 cwbmutuality 0.17 -0.06 -0.06 0.027 -0.0388
#> 5 cwbbeneficence -0.05 0.18 0.04 -0.061 -0.0475
#> 6 cwbintegrity -0.06 0.19 0.02 -0.056 -0.0394
#> 7 cwbcompetence -0.08 0.18 0.03 -0.041 -0.0329
#> 8 cwbvision -0.07 0.17 0.05 -0.061 -0.0413
#> 9 cwbrelgrowth -0.06 0.04 0.08 -0.054 0.0113
#> 10 cwbfairness -0.04 0.04 0.10 -0.013 -0.0498
#> 11 cwbsustenance -0.06 0.02 0.13 -0.034 -0.0111
#> 12 cwbachieve -0.07 0.04 0.12 -0.050 0.0002
#> 13 cwbsatisf 0.09 -0.07 -0.02 0.096 -0.0703
#> 14 cwbvalue 0.01 -0.07 -0.04 0.074 0.0356
#> 15 cwbbelonging 0.03 -0.03 -0.04 0.076 -0.0106
#> 16 cwbwelcome 0.04 -0.05 -0.06 0.103 -0.0073
#> 17 cwbpurpose -0.02 -0.05 -0.03 0.092 0.0265
#> 18 cwbcontrib -0.07 -0.03 0.01 0.009 0.1096
#> 19 cwbinterconn -0.06 -0.05 -0.02 -0.073 0.2120
#> 20 cwbsynergy -0.11 -0.03 -0.01 -0.081 0.2414