Package: MAIHDA 0.2.0

Hamid Bulut

MAIHDA: Multilevel Analysis of Individual Heterogeneity and Discriminatory Accuracy

Tools for Multilevel Analysis of Individual Heterogeneity and Discriminatory Accuracy (MAIHDA) for intersectional inequality research. Methods are described in Merlo (2018) <doi:10.1016/j.socscimed.2017.12.026> and Evans et al. (2018) <doi:10.1016/j.socscimed.2017.11.011>. The package creates intersectional strata, fits multilevel MAIHDA models, estimates variance partition coefficients, proportional change in variance, stratum effects, and discriminatory-accuracy summaries, and provides diagnostic and presentation plots.

Authors:Hamid Bulut [aut, cre]

MAIHDA_0.2.0.tar.gz
MAIHDA_0.2.0.tar.gz(r-4.7-any)MAIHDA_0.2.0.tar.gz(r-4.6-any)
MAIHDA_0.2.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
MAIHDA/json (API)

# Install 'MAIHDA' in R:
install.packages('MAIHDA', repos = c('https://cran.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/hdbt/maihda/issues

Pkgdown/docs site:https://hdbt.github.io

Datasets:

On CRAN:

Conda:

4.66 score 19 scripts 531 downloads 24 exports 44 dependencies

Last updated from:572c8deb0a. Checks:4 OK. Indexed: no.

TargetResultTimeFilesSyslog
linux-devel-x86_64OK281
source / vignettesOK296
linux-release-x86_64OK289
wasm-releaseOK195

Exports:calculate_pvccompare_maihdacompare_maihda_groupsfit_maihdaglancemaihdamaihda_aucmaihda_cumulativemaihda_discriminatory_accuracymaihda_icmaihda_interactionsmaihda_mormaihda_tablemaihda_upset_sizemaihda_vpc_responsemake_strataplot_comparisonplot_group_comparisonplot_prediction_deviation_panelspredict_maihdarun_maihda_appstepwise_pcvtheme_maihdatidy

Dependencies:bootclicpp11dplyrfarvergenericsggplot2ggrepelgluegtableisobandlabelinglatticelifecyclelme4magrittrMASSMatrixminqanlmenloptrpatchworkpillarpkgconfigpurrrR6rbibutilsRColorBrewerRcppRcppEigenRdpackreformulasrlangS7scalesstringistringrtibbletidyrtidyselectutf8vctrsviridisLitewithr

Case study: BRFSS mental distress
Data preparation | Recode and collapse strata | Fit the MAIHDA | Which strata drive the pattern? | How many interactions actually matter? A ROPE | Plot the case study | Results | References

Last update: 2026-07-02
Started: 2026-07-02

Crossed random effects in MAIHDA: dimensions and contexts
Two different things called "cross-classified" | Part 1, The crossed-dimensions decomposition | Running a crossed-dimensions analysis | Figures | Comparing across a higher-level group | A Bayesian fit | Two important caveats | Part 2, Contextual cross-classified MAIHDA (context =) | With the full maihda() workflow | context = vs. group = | Notes

Last update: 2026-07-02
Started: 2026-06-18

Finding interaction patterns
Overview | Run a standard analysis and choose the multiplicity rule | Highlight flagged strata | Is an interaction negligible? (equivalence / ROPE) | See also | References

Last update: 2026-07-02
Started: 2026-06-18

Interpreting MAIHDA Plots and Diagnostics
Overview | vpc -- variance partition | predicted -- stratum predictions with intervals | obs_vs_shrunken -- shrinkage made visible | effect_decomp -- additive vs. intersection-specific | prediction_deviation -- the deviation dashboard | Group-comparison plots | Customizing the appearance | See also

Last update: 2026-07-02
Started: 2026-06-18

Introduction to MAIHDA
Introduction | Installation | The data | The maihda() workflow | Visual diagnostics | A crossed-dimensions alternative | A contextual cross-classified model | Design-weighted MAIHDA (survey data) | Comparing across groups | Under the hood: the building blocks | Fit a single model | A custom adjusted model and the PCV | Stepwise PCV | Discriminatory accuracy and the response-scale VPC | The group comparison directly | Where to next | Interactive Shiny App | References

Last update: 2026-07-02
Started: 2026-04-03

Bayesian MAIHDA for sparse intersections
Sparse intersectional cells | A dataset with a known interaction | What lme4 reports | What brms adds: posterior uncertainty | Comparison | Why the interval, not the point, is what changes

Last update: 2026-06-18
Started: 2026-06-18

Comparing Intersectional Inequality Across Groups
Introduction | Example data: countries, gender, and socioeconomic status | One-call workflow | Visualizing the comparison | Share versus magnitude | Additive share (PCV) by group | Direct group comparison | Adding bootstrap intervals

Last update: 2026-06-18
Started: 2026-06-18

Interactive Data Analysis with MAIHDA
Introduction | Launching the Application | Online Version | Local Version | App Features | 1. Data Import | 2. Variable Selection & Strata Creation | 3. Model Fitting & Settings | 4. Interactive Visualizations | 5. Stepwise Variance Analysis (PCV) | Summary

Last update: 2026-06-18
Started: 2026-05-16

Longitudinal MAIHDA: intersectional inequalities over time
From a snapshot to a trajectory | The data | Fitting and the time-varying VPC | Decomposing the trajectory: additive vs. multiplicative | Scope and cautions | Reference

Last update: 2026-06-18
Started: 2026-06-18

MAIHDA for Binary Outcomes (Discriminatory Accuracy)
Why binary outcomes? | Fitting a logistic MAIHDA model | The VPC is on the latent scale | Adjusted model and PCV | Discriminatory accuracy (AUC and Median Odds Ratio) | Plots adapt to the binomial family | Count outcomes work the same way | References

Last update: 2026-06-18
Started: 2026-06-18

Planning a MAIHDA analysis
Before you fit | Is MAIHDA the right tool? | The central tradeoff: more dimensions means emptier cells | What sparse cells do: singular fits | Continuous variables and the analytic sample | What the summaries can and cannot tell you | Which engine, which design? | A suggested learning path | References

Last update: 2026-06-18
Started: 2026-06-18

Reporting MAIHDA results: tidy output and publication tables
From a fitted model to a manuscript | glance() -- the one-row headline | tidy() -- estimates as a tidy tibble | maihda_table() -- the two canonical write-up tables | Choosing a model structure with maihda_ic() | See also | References

Last update: 2026-06-18
Started: 2026-06-18

Readme and manuals

Help Manual

Help pageTopics
Calculate Proportional Change in Between-Stratum Variance (PCV)calculate_pvc
Compare MAIHDA Modelscompare_maihda
Compare MAIHDA Metrics Across Levels of a Grouping Variablecompare_maihda_groups
Fit MAIHDA Modelfit_maihda
Run a Complete MAIHDA Analysismaihda
Area under the ROC curve (C-statistic), rank-basedmaihda_auc
Cross-National Educational Achievement Data for MAIHDAmaihda_country_data
Cumulative (ordinal) family marker for MAIHDA modelsmaihda_cumulative
Discriminatory accuracy of a binary MAIHDA modelmaihda_discriminatory_accuracy
Glance at a MAIHDA model or analysisglance.maihda_analysis glance.maihda_model glance.maihda_summary maihda_glance
NHANES Health Data Subset for MAIHDA Usemaihda_health_data
Information criteria for MAIHDA modelsmaihda_ic
Flag strata with credibly non-zero intersectional interactionmaihda_interactions
Simulated Longitudinal Data for MAIHDAmaihda_long_data
Median Odds Ratio (MOR) for a logistic MAIHDA modelmaihda_mor
Simulated Health Data for MAIHDA Usemaihda_sim_data
Sparse Intersectional Data for Bayesian MAIHDAmaihda_sparse_data
Canonical MAIHDA results table and ranked-strata tablemaihda_table
Tidy a MAIHDA summary, model, or analysismaihda_tidiers tidy.maihda_analysis tidy.maihda_model tidy.maihda_summary
Recommended Figure Size for the UpSet Stratum Plotmaihda_upset_size
Response-scale VPC for a binomial MAIHDA modelmaihda_vpc_response
Create Strata from Multiple Variablesmake_strata
Plot Prediction Deviation Panelsplot_prediction_deviation_panels
Plot a MAIHDA Analysisplot.maihda_analysis
Plot a MAIHDA Model Comparisonplot.maihda_comparison
Plot a MAIHDA Group Comparisonplot.maihda_group_comparison
Plot MAIHDA Model Resultsplot.maihda_model
Predict from MAIHDA Modelpredict_maihda
Print a MAIHDA Analysisprint.maihda_analysis
Print method for MAIHDA group comparisonsprint.maihda_group_comparison
Print MAIHDA information criteriaprint.maihda_ic
Print a MAIHDA interaction diagnosticprint.maihda_interactions
Print a longitudinal MAIHDA PCVprint.maihda_long_pcv
Print method for maihda_modelprint.maihda_model
Print a stepwise MAIHDA tableprint.maihda_stepwise
Print method for maihda_strata objectsprint.maihda_strata
Print method for maihda_summary objectsprint.maihda_summary
Print a MAIHDA results tableprint.maihda_table
Print method for PVC resultsprint.pvc_result
Run MAIHDA Shiny Applicationrun_maihda_app
Stepwise Proportional Change in Variance (PCV)stepwise_pcv
Summarize a MAIHDA Analysissummary.maihda_analysis
Summarize MAIHDA Modelsummary.maihda_model
MAIHDA plot themetheme_maihda