View source: R/dominance.manual.R
dominance.manual | R Documentation |
This function conducts dominance analysis (Budescu, 1993; Azen & Budescu, 2003) based on a (model-implied) correlation matrix of the manifest or latent variables. Note that the function only provides general dominance.
dominance.manual(x, out = NULL, digits = 3, write = NULL, check = TRUE,
output = TRUE)
x |
a matrix or data frame with the (model-implied) correlation matrix
of the manifest or latent variables. Note that column names need
to represent the variables names in |
out |
a character string representing the outcome variable. By default, the first row and column represents the outcome variable. |
digits |
an integer value indicating the number of decimal places to be
used for displaying results. Note that the percentage relative
importance of predictors are printed with |
write |
a character string for writing the results into a Excel file
naming a file with or without file extension '.xlsx', e.g.,
|
check |
logical: if |
output |
logical: if |
Returns an object of class misty.object
, which is a list with following
entries:
call |
function call |
type |
type of analysis |
x |
correlation matrix specified in |
args |
specification of function arguments |
result |
results table for the general dominance |
This function implements the function provided in Appendix 1 of Gu (2022) and
copied the function combinations()
from the gtools
package
(Bolker, Warnes, & Lumley, 2022).
Takuya Yanagida takuya.yanagida@univie.ac.at
Azen, R., & Budescu, D. V. (2003). The dominance analysis approach for comparing predictors in multiple regression. Psychological Methods, 8(2), 129–148. https://doi.org/10.1037/1082-989X.8.2.129
Bolker, B., Warnes, G., & Lumley, T. (2022). gtools: Various R Programming Tools. R package version 3.9.4, https://CRAN.R-project.org/package=gtools
Budescu, D. V. (1993). Dominance analysis: A new approach to the problem of relative importance of predictors in multiple regression. Psychological Bulletin, 114(3), 542–551. https://doi.org/10.1037/0033-2909.114.3.542
Gu, X. (2022). Assessing the relative importance of predictors in latent regression models. Structural Equation Modeling: A Multidisciplinary Journal, 4, 569-583. https://doi.org/10.1080/10705511.2021.2025377
dominance
, std.coef
, write.result
## Not run:
#----------------------------
# Linear model
dat <- data.frame(x1 = c(3, 2, 4, 9, 5, 3, 6, 4, 5, 6, 3, 5),
x2 = c(1, 4, 3, 1, 2, 4, 3, 5, 1, 7, 8, 7),
x3 = c(0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1),
y = c(0, 1, 0, 2, 0, 1, 0, 0, 1, 2, 1, 0))
# Dominance analysis
dominance.manual(cor(dat[, c("y", "x1", "x2", "x3")]))
# Equivalent results using the dominance() function
mod <- lm(y ~ x1 + x2 + x3, data = dat)
dominance(mod)
# Outcome 'x3' predicted by 'y', 'x1', and 'x2'
dominance.manual(cor(dat[, c("y", "x1", "x2", "x3")]), out = "x3")
#----------------------------
# Structural equation modeling
library(lavaan)
#.............
# Latent variables
# Model specification
model <- '# Measurement model
ind60 =~ x1 + x2 + x3
dem60 =~ y1 + y2 + y3 + y4
dem65 =~ y5 + y6 + y7 + y8
# regressions
ind60 ~ dem60 + dem65'
# Model estimation
fit <- sem(model, data = PoliticalDemocracy)
# Model-implied correlation matrix of the latent variables
fit.cor <- lavInspect(fit, what = "cor.lv")
# Dominance analysis
dominance.manual(fit.cor)
#.............
# Latent and manifest variables
# Model specification, convert manifest to latent variable
model <- '# Measurement model
ind60 =~ x1 + x2 + x3
dem60 =~ y1 + y2 + y3 + y4
# Manifest as latent variable
ly5 =~ 1*y5
y5 ~~ 0*y5
# Regressions
ind60 ~ dem60 + ly5'
# Model estimation
fit <- sem(model, data = PoliticalDemocracy)
# Model-implied correlation matrix of the latent variables
fit.cor <- lavInspect(fit, what = "cor.lv")
# Dominance analysis
dominance.manual(fit.cor)
#----------------------------
# Multilevel modeling
# Model specification
model <- 'level: 1
fw =~ y1 + y2 + y3
# Manifest as latent variables
lx1 =~ 1*x1
lx2 =~ 1*x2
lx3 =~ 1*x3
x1 ~~ 0*x1
x2 ~~ 0*x2
x3 ~~ 0*x3
# Regression
fw ~ lx1 + lx2 + lx3
level: 2
fb =~ y1 + y2 + y3
# Manifest as latent variables
lw1 =~ 1*w1
lw2 =~ 1*w2
# Regression
fb ~ lw1 + lw2'
# Model estimation
fit <- sem(model, data = Demo.twolevel, cluster = "cluster")
# Model-implied correlation matrix of the latent variables
fit.cor <- lavInspect(fit, what = "cor.lv")
# Dominance analysis Within
dominance.manual(fit.cor$within)
# Dominance analysis Between
dominance.manual(fit.cor$cluster)
#----------------------------
# Mplus
#
# In Mplus, the model-impied correlation matrix of the latent variables
# can be requested by OUTPUT: TECH4 and imported into R by using the
# MplusAuomtation package, for example:
library(MplusAutomation)
# Read Mplus output
output <- readModels()
# Extract model-implied correlation matrix of the latent variables
fit.cor <- output$tech4$latCorEst
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.