| micmac_analysis | R Documentation |
Performs MICMAC (Cross-Impact Matrix Multiplication Applied to Classification) analysis on a reachability matrix to classify elements based on their driving power and dependence power.
micmac_analysis(reach_matrix)
reach_matrix |
A square reachability matrix (n x n) with 0/1 entries,
typically computed using |
MICMAC analysis is a complementary technique to ISM that helps identify the key drivers and dependent variables in a system.
Driving Power: The number of elements that a given element can reach (row sum of reachability matrix).
Dependence Power: The number of elements that can reach a given element (column sum of reachability matrix).
Elements are classified into four clusters based on whether their driving and dependence powers are above or below the median values.
An object of class micmac_result, which is a data frame with:
node: node index
label: node label (from matrix dimnames or numeric)
driving_power: number of elements this node can reach
dependence_power: number of elements that can reach this node
cluster: classification into one of four clusters
The four clusters are:
Low driving power, low dependence. Disconnected from system.
Low driving power, high dependence. Outcomes/results.
High driving power, high dependence. Unstable, key connectors.
High driving power, low dependence. Root causes/drivers.
Duperrin, J. C., & Godet, M. (1973). Methode de hierarchisation des elements d'un systeme. Rapport economique du CEA, R-45-41.
Warfield, J. N. (1974). Developing interconnection matrices in structural modeling. IEEE Transactions on Systems, Man, and Cybernetics, SMC-4(1), 81-87. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1109/TSMC.1974.5408524")}
plot_micmac for visualization,
compute_reachability for computing reachability matrices,
level_partitioning for hierarchical decomposition.
# Create adjacency matrix
adj <- matrix(c(0, 1, 0, 0, 0,
0, 0, 1, 0, 0,
0, 0, 0, 1, 1,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0), nrow = 5, byrow = TRUE)
rownames(adj) <- colnames(adj) <- paste0("F", 1:5)
# Compute reachability and MICMAC
reach <- compute_reachability(adj)
micmac <- micmac_analysis(reach)
print(micmac)
# View cluster distribution
table(micmac$cluster)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.