This function assesses discriminant validity through the
heterotrait-monotrait ratio (HTMT) of the correlations (Henseler, Ringlet &
Sarstedt, 2015). Specifically, it assesses the geometric-mean correlation
among indicators across constructs (i.e. heterotrait-heteromethod
correlations) relative to the geometric-mean correlation among indicators
within the same construct (i.e. monotrait-heteromethod correlations).
The resulting HTMT values are interpreted as estimates of inter-construct
correlations. Absolute values of the correlations are recommended to
calculate the HTMT matrix. Correlations are estimated using the
lavCor
function in the lavaan package.
htmt(model, data = NULL, sample.cov = NULL, missing = "listwise",
ordered = NULL, absolute = TRUE)
lavaan model.syntax of a confirmatory factor analysis model where at least two factors are required for indicators measuring the same construct.
A data.frame
or data matrix
A covariance or correlation matrix can be used, instead of
data
, to estimate the HTMT values.
If "listwise", cases with missing values are removed listwise from the data frame. If "direct" or "ml" or "fiml" and the estimator is maximum likelihood, an EM algorithm is used to estimate the unrestricted covariance matrix (and mean vector). If "pairwise", pairwise deletion is used. If "default", the value is set depending on the estimator and the mimic option (see details in lavCor).
Character vector. Only used if object is a data.frame
.
Treat these variables as ordered (ordinal) variables. Importantly, all
other variables will be treated as numeric (unless is.ordered
in
data
). (see also lavCor)
logical. Whether HTMT values should be estimated based on
absolute correlations (recommended and default is TRUE
)
A matrix showing HTMT values (i.e., discriminant validity) between each pair of factors
Henseler, J., Ringle, C. M., & Sarstedt, M. (2015). A new criterion for assessing discriminant validity in variance-based structural equation modeling. Journal of the Academy of Marketing Science, 43(1), 115--135. doi:10.1007/s11747-014-0403-8
# NOT RUN {
HS.model <- ' visual =~ x1 + x2 + x3
textual =~ x4 + x5 + x6
speed =~ x7 + x8 + x9 '
dat <- HolzingerSwineford1939[, paste0("x", 1:9)]
htmt(HS.model, dat)
# }
Run the code above in your browser using DataLab