Plot report/table bundles with base R defaults
Usage
# S3 method for class 'mfrm_bundle'
plot(x, y = NULL, type = NULL, ...)Details
plot() dispatches by bundle class:
mfrm_unexpected->plot_unexpected()mfrm_fair_average->plot_fair_average()mfrm_displacement->plot_displacement()mfrm_interrater->plot_interrater_agreement()mfrm_facets_chisq->plot_facets_chisq()mfrm_bias_interaction->plot_bias_interaction()mfrm_bias_count-> bias-count plots (cell counts / low-count rates)mfrm_fixed_reports-> pairwise-contrast diagnosticsmfrm_visual_summaries-> warning/summary message count plotsmfrm_category_structure-> default base-R category plotsmfrm_category_curves-> default ogive/CCC plotsmfrm_rating_scale-> category-counts/threshold plotsmfrm_measurable-> measurable-data coverage/count plotsmfrm_unexpected_after_bias-> post-bias unexpected-response plotsmfrm_output_bundle-> graph/score output-file diagnosticsmfrm_residual_pca-> residual PCA scree/loadings viaplot_residual_pca()mfrm_specifications-> facet/anchor/convergence plotsmfrm_data_quality-> row-audit/category/missing-row plotsmfrm_iteration_report-> replayed-iteration trajectoriesmfrm_subset_connectivity-> subset-observation/connectivity plotsmfrm_facet_statistics-> facet statistic profile plots
If a class is outside these families, use dedicated plotting helpers or custom base R graphics on component tables.
Interpreting output
The returned object is plotting data (mfrm_plot_data) that captures
the selected route and payload; set draw = TRUE for immediate base graphics.
Typical workflow
Create bundle output (e.g.,
unexpected_response_table()).Inspect routing with
summary(bundle)if needed.Call
plot(bundle, type = ..., draw = FALSE)to obtain reusable plot data.
Examples
toy <- load_mfrmr_data("example_core")
fit <- fit_mfrm(toy, "Person", c("Rater", "Criterion"), "Score", method = "JML", maxit = 25)
t4 <- unexpected_response_table(fit, abs_z_min = 1.5, prob_max = 0.4, top_n = 10)
p <- plot(t4, draw = FALSE)
vis <- build_visual_summaries(fit, diagnose_mfrm(fit, residual_pca = "none"))
p_vis <- plot(vis, type = "comparison", draw = FALSE)
spec <- specifications_report(fit)
p_spec <- plot(spec, type = "facet_elements", draw = FALSE)
if (interactive()) {
plot(
t4,
type = "severity",
draw = TRUE,
main = "Unexpected Response Severity (Customized)",
palette = c(higher = "#d95f02", lower = "#1b9e77", bar = "#2b8cbe"),
label_angle = 45
)
plot(
vis,
type = "comparison",
draw = TRUE,
main = "Warning vs Summary Counts (Customized)",
palette = c(warning = "#cb181d", summary = "#3182bd"),
label_angle = 45
)
}