dominance {misty} | R Documentation |
Dominance Analysis
Description
This function conducts dominance analysis (Budescu, 1993; Azen & Budescu, 2003)
for linear models estimated by using the lm()
function to determine the
relative importance of predictor variables. By default, the function reports
general dominance, but conditional and complete dominance can be requested by
specifying the argument print
.
Usage
dominance(model, print = c("all", "gen", "cond", "comp"), digits = 3,
write = NULL, append = TRUE, check = TRUE, output = TRUE)
Arguments
model |
a fitted model of class |
print |
a character string or character vector indicating which results
to show on the console, i.e. |
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 naming a file for writing the output into
either a text file with file extension |
append |
logical: if |
check |
logical: if |
output |
logical: if |
Details
Dominance analysis (Budescu, 1993; Azen & Budescu, 2003) is used to determine
the relative importance of predictor variables in a statistical model by examining
the additional contribution of predictors in R-squared relative to each
other in all of the possible 2^{(p - 2)}
subset models with p
being
the number of predictors. Three levels of dominance can be established through
pairwise comparison of all predictors in a regression model:
- Complete Dominance
A predictor completely dominates another predictor if its additional contribution in R-Squared is higher than that of the other predictor across all possible subset models that do not include both predictors. For example, in a regression model with four predictors,
X_1
completely dominatesX_2
if the additional contribution in R-squared forX_1
is higher compared toX_2
in (1) the null model without any predictors, (2) the model includingX_3
, (3) the model includingX_4
, and (4) the model including bothX_3
andX_4
. Note that complete dominance cannot be established if one predictor's additional contribution is greater than the other's for some, but not all of the subset models. In this case, dominance is undetermined and the result will beNA
- Conditional Dominance
A predictor conditionally dominates another predictor if its average additional contribution in R-squared is higher within each model size than that of the other predictor. For example, in a regression model with four predictors,
X_1
conditionally dominatesX_2
if the average additional contribution in R-squared is higher compared toX_2
in (1) the null model without any predictors, (2) the four models including one predictor, (3) the six models including two predictors, and (4) the four models including three predictors.- General Dominance
A predictor generally dominates another predictor if its overall averaged additional contribution in R-squared is higher than that of the other predictor. For example, in a regression model with four predictors,
X_1
generally dominatesX_2
if the average across the four conditional values (i.e., null model, model with one predictor, model with two predictors, and model with three predictors) is higher than that ofX_2
. Note that the general dominance measures represent the proportional contribution that each predictor makes to the R-squared since their sum across all predictors equals the R-squared of the full model.
The three levels of dominance are related to each other in a hierarchical fashion: Complete dominance implies conditional dominance, which in turn implies general dominance. However, the converse may not hold for more than three predictors. That is, general dominance does not imply conditional dominance, and conditional dominance does not necessarily imply complete dominance.
Value
Returns an object of class misty.object
, which is a list with following
entries:
call |
function call |
type |
type of analysis |
model |
model specified in |
args |
specification of function arguments |
result |
list with results, i.e., |
Note
This function is based on the domir
function from the domir
package (Luchman, 2023).
Author(s)
Takuya Yanagida takuya.yanagida@univie.ac.at
References
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
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
Luchman J (2023). domir: Tools to support relative importance analysis. R package version 1.0.1, https://CRAN.R-project.org/package=domir.
See Also
dominance.manual
, std.coef
, write.result
Examples
#----------------------------------------------------------------------------
# Example 1: Dominance analysis for a linear model
mod <- lm(mpg ~ cyl + disp + hp, data = mtcars)
dominance(mod)
# Print all results
dominance(mod, print = "all")
## Not run:
#----------------------------------------------------------------------------
# Example 2: Write results into a text file
dominance(mod, write = "Dominance.txt", output = FALSE)
#----------------------------------------------------------------------------
# Example 3: Write results into an Excel file
dominance(mod, write = "Dominance.xlsx", output = FALSE)
result <- dominance(mod, print = "all", output = FALSE)
write.result(result, "Dominance.xlsx")
## End(Not run)