SkillAgentSearch skills...

DominanceAnalysis

Dominance Analysis (Azen and Bodescu), for multiple regression models: OLS (univariate, multivariate), beta regression, Dynamic Linear Models, GLM and HLM

Install / Use

/learn @clbustos/DominanceAnalysis
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<!-- README.md is generated from README.Rmd. Please edit that file -->

dominanceanalysis <img src='logo/dominance_analysis_logo.png' align="right" height="139" />

codecov Stable
version downloads

Dominance Analysis (Azen and Budescu, 2003, 2006; Azen and Traxel, 2009; Budescu, 1993; Luo and Azen, 2013), for multiple regression models: Ordinary Least Squares, Generalized Linear Models, Dynamic Linear Models and Hierarchical Linear Models.

Features:

  • Provides complete, conditional and general dominance analysis for lm (univariate and multivariate), clm, dynlm, lmer, betareg and glm (family=binomial) models.
  • Covariance / correlation matrixes could be used as input for OLS dominance analysis, using lmWithCov() and mlmWithCov() methods, respectively.
  • Multiple criteria can be used as fit indices, which is useful especially for HLM.

Examples

Linear regression

We could apply dominance analysis directly on the data, using lm (see Azen and Budescu, 2003).

The attitude data is composed of six predictors of the overall rating of 35 clerical employees of a large financial organization: complaints, privileges, learning, raises, critical and advancement. The method dominanceAnalysis() can retrieve all necessary information directly from a lm model.

  library(dominanceanalysis)
  lm.attitude<-lm(rating~.,attitude)
  da.attitude<-dominanceAnalysis(lm.attitude)

Using print() method on the dominanceAnalysis object, we can see that complaints completely dominates all other predictors, followed by learning (lrnn). The remaining 4 variables (prvl,rass,crtc,advn) don’t show a consistent pattern for complete and conditional dominance. The average contribution of each predictor is also presented, that defines defines general dominance.

The print() method uses abbreviate, to allow complex models to be visualized at a glance.

  print(da.attitude)
#> 
#> Dominance analysis
#> Predictors: complaints, privileges, learning, raises, critical, advance 
#> Fit-indices: r2 
#> 
#> * Fit index:  r2 
#>                            complete              conditional
#> complaints prvl,lrnn,rass,crtc,advn prvl,lrnn,rass,crtc,advn
#> privileges                     crtc                     crtc
#> learning        prvl,rass,crtc,advn      prvl,rass,crtc,advn
#> raises                         crtc                     crtc
#> critical                                                    
#> advance                                                     
#>                             general
#> complaints prvl,lrnn,rass,crtc,advn
#> privileges                crtc,advn
#> learning        prvl,rass,crtc,advn
#> raises               prvl,crtc,advn
#> critical                           
#> advance                        crtc
#> 
#> Average contribution:
#> complaints   learning     raises privileges    advance   critical 
#>      0.371      0.156      0.120      0.051      0.028      0.007

The dominance brief and average contribution of each predictor could be retrieved separately using dominanceBriefing() and averageContribution() methods, respectively.

  dominanceBriefing(da.attitude, abbrev = TRUE)$r2
#>                            complete              conditional
#> complaints prvl,lrnn,rass,crtc,advn prvl,lrnn,rass,crtc,advn
#> privileges                     crtc                     crtc
#> learning        prvl,rass,crtc,advn      prvl,rass,crtc,advn
#> raises                         crtc                     crtc
#> critical                                                    
#> advance                                                     
#>                             general
#> complaints prvl,lrnn,rass,crtc,advn
#> privileges                crtc,advn
#> learning        prvl,rass,crtc,advn
#> raises               prvl,crtc,advn
#> critical                           
#> advance                        crtc
  averageContribution(da.attitude)
#> 
#> Average Contribution by predictor
#>    complaints privileges learning raises critical advance
#> r2      0.371      0.051    0.156   0.12    0.007   0.028

The summary() method shows the complete dominance analysis matrix, that presents all fit differences between levels. Also, provides the average contribution of each variable.

  summary(da.attitude)
#> 
#> * Fit index:  r2 
#> 
#> Average contribution of each variable:
#> 
#> complaints   learning     raises privileges    advance   critical 
#>      0.371      0.156      0.120      0.051      0.028      0.007 
#> 
#> Dominance Analysis matrix:
#>                                                   model level   fit complaints
#>                                                       1     0     0      0.681
#>                                              complaints     1 0.681           
#>                                              privileges     1 0.182      0.501
#>                                                learning     1 0.389      0.319
#>                                                  raises     1 0.348      0.336
#>                                                critical     1 0.024      0.657
#>                                                 advance     1 0.024      0.658
#>                                         Average level 1     1            0.494
#>                                   complaints+privileges     2 0.683           
#>                                     complaints+learning     2 0.708           
#>                                       complaints+raises     2 0.684           
#>                                     complaints+critical     2 0.681           
#>                                      complaints+advance     2 0.682           
#>                                     privileges+learning     2 0.408      0.307
#>                                       privileges+raises     2 0.382      0.305
#>                                     privileges+critical     2 0.191      0.493
#>                                      privileges+advance     2 0.182      0.502
#>                                         learning+raises     2 0.451      0.258
#>                                       learning+critical     2 0.396      0.312
#>                                        learning+advance     2 0.432      0.293
#>                                         raises+critical     2 0.353      0.331
#>                                          raises+advance     2 0.399      0.291
#>                                        critical+advance     2 0.038      0.645
#>                                         Average level 2     2            0.374
#>                          complaints+privileges+learning     3 0.715           
#>                            complaints+privileges+raises     3 0.686           
#>                          complaints+privileges+critical     3 0.683           
#>                           complaints+privileges+advance     3 0.683           
#>                              complaints+learning+raises     3 0.708           
#>                            complaints+learning+critical     3 0.708           
#>                             complaints+learning+advance     3 0.726           
#>                              complaints+raises+critical     3 0.684           
#>                               complaints+raises+advance     3  0.69           
#>                             complaints+critical+advance     3 0.682           
#>                              privileges+learning+raises     3 0.459      0.257
#>                            privileges+learning+critical     3 0.413      0.302
#>                             privileges+learning+advance     3 0.458      0.271
#>                              privileges+raises+critical     3 0.386      0.301
#>                               privileges+raises+advance     3 0.443      0.247
#>                             privileges+critical+advance     3 0.191      0.493
#>                                learning+raises+critical     3 0.451      0.257
#>                                 learning+raises+advance     3 0.552      0.176
#>                               learning+critical+advance     3 0.453      0.274
#>                                 raises+critical+advance     3 0.401      0.288
#>                                         Average level 3     3            0.287
#>                   complaints+privileges+learning+raises     4 0.715           
#>                 complaints+privileges+learning+critical     4 0.715           
#>                  complaints+privileges+learning+advance     4 0.729           
#>                   complaints+privileges+raises+critical     4 0.686           
#>                    complaints+privileges+raises+advance     4  0.69           
#>                  complaints+privileges+critical+advance     4 0.684           
#>                     complaints+learning+raises+critical     4 0.708           
#>                      complaints+learning+raises+advance     4 0.729           
#>                    complaints+learning+critical+advance     4 0.727           
#>                      complaints+raises+critical+advance     4  0.69           
#>                     privileges+learning+raises+critical     4 0.459      0.256
#>                      privileges+learning+raises+advance     4 0.563      0.169
#>                    privileges+learning+critical+advance     4 0.476      0.255
#>                      privileges+raises+critical+advance     4 0.445      0.246
#>                        learning+raises+critical+advance     4 0.553      0.176
#>            

Related Skills

View on GitHub
GitHub Stars26
CategoryDevelopment
Updated6mo ago
Forks12

Languages

R

Security Score

67/100

Audited on Oct 1, 2025

No findings