Analyze the MFRM design network
Usage
mfrm_network_analysis(
fit,
diagnostics = NULL,
top_n_subsets = NULL,
min_observations = 0,
include_graph = FALSE
)Arguments
- fit
Output from
fit_mfrm().- diagnostics
Optional output from
diagnose_mfrm().- top_n_subsets
Optional maximum number of connected-subset rows to retain before constructing the graph.
- min_observations
Minimum observations required to keep a subset row.
- include_graph
Logical; if
TRUE, include the underlyingigraphobject in the returned bundle. Defaults toFALSEso outputs remain easy to serialize.
Value
A bundle of class mfrm_network_analysis containing:
summary: graph-level connectedness and vulnerability metricsnode_metrics: node-level degree, strength, graph-theoretic centrality, and cutpoint flagsedge_metrics: edge-level weights, betweenness, and bridge flagsfacet_summary: facet-level aggregation of node/bridge indicatorscut_nodes: articulation-point rows fromnode_metricsbridge_edges: bridge rows fromedge_metrics
Details
mfrm_network_analysis() treats the person/facet-level observation design as
an undirected weighted graph. Nodes are person or facet levels; edges connect
levels that co-occur in at least one observed rating; edge weights are
co-observation counts. The resulting network metrics are design diagnostics,
not psychometric measures of person ability or rater quality. This is the
package's assignment/co-observation network: unlike the score-relation
networks returned by rater_network_analysis() and
rater_halo_network_analysis(), it can expose disconnected measurement
subsets relevant to common-scale interpretation.
SourceSubsets, RetainedSubsets and ScopeComplete record whether subset
filters retained the full observed design. Connectedness of selected subsets
cannot be generalized to omitted subsets. Recreate older design reviews
from the existing fit and matching diagnostics to record this coverage.
plot(net, type = "centrality"), plot(net, type = "facet_summary"), and
plot(net, type = "network") provide immediate visual checks; use
draw = FALSE to extract reusable plot data.
The most useful review columns are:
Components: more than one component means the design has disconnected measurement subsets.IsArticulationPoint: a node whose removal would increase disconnectedness.IsBridge: an edge whose removal would increase disconnectedness.Betweenness: a routing-dependence indicator; high values identify levels that carry many shortest paths through the design graph.
In incomplete rater-mediated designs, these graph summaries help identify fragile linking structures before interpreting facet measures or planning additional data collection.
References
McEwen, M. R. (2015). Development of a Software Prototype for Generating and Classifying Incomplete Many-Facet-Rasch Model Rating Designs. Brigham Young University.
Csardi, G., Nepusz, T., Traag, V., Horvat, S., Zanini, F., Noom, D., & Muller, K. (2026). igraph: Network Analysis and Visualization.
Examples
# \donttest{
toy <- load_mfrmr_data("example_core")
fit <- fit_mfrm(toy, "Person", c("Rater", "Criterion"), "Score",
method = "JML", maxit = 300
)
if (requireNamespace("igraph", quietly = TRUE)) {
net <- mfrm_network_analysis(fit)
net$summary
head(net$node_metrics)
net$cut_nodes
plot(net, type = "centrality", draw = FALSE)
}
# }
