This vignette shows the package-native route from a fitted many-facet Rasch model to manuscript-oriented prose, tables, figure notes, and revision checks.
The reporting stack in mfrmr is organized around four
objects:
fit: the fitted model from fit_mfrm()diag: diagnostics from
diagnose_mfrm()chk: the revision guide from
reporting_checklist()apa: structured manuscript outputs from
build_apa_outputs()For a broader workflow view, see
vignette("mfrmr-workflow", package = "mfrmr"). For a
plot-first route, see
vignette("mfrmr-visual-diagnostics", package = "mfrmr").
library(mfrmr)
toy <- load_mfrmr_data("example_core")
# The vignette uses compact quadrature so optional local execution stays fast.
# For final manuscript reporting, refit with the package default or a higher
# quadrature setting and record that setting in the analysis log.
fit <- fit_mfrm(
toy,
person = "Person",
facets = c("Rater", "Criterion"),
score = "Score",
method = "MML",
model = "RSM",
quad_points = 7
)
diag <- diagnose_mfrm(fit, residual_pca = "none")Use reporting_checklist() first when the question is
“what is still missing?” rather than “how do I phrase the results?”
chk <- reporting_checklist(fit, diagnostics = diag)
head(
chk$checklist[, c("Section", "Item", "DraftReady", "Priority", "NextAction")],
10
)Interpretation:
DraftReady flags whether the current objects already
support a section for drafting with the package’s documented
caveats.Priority shows what to resolve first.NextAction is the shortest package-native instruction
for closing the gap.mfrmr intentionally distinguishes
model_based, hybrid, and
exploratory precision tiers.
Interpretation:
model_based.hybrid and exploratory outputs more
conservatively, especially for SE-, CI-, and reliability-heavy
prose.build_apa_outputs() is the writing engine. It returns
report text plus a section map, note map, and caption map that all share
the same internal contract.
apa <- build_apa_outputs(
fit,
diagnostics = diag,
context = list(
assessment = "Writing assessment",
setting = "Local scoring study",
scale_desc = "0-4 rubric scale",
rater_facet = "Rater"
)
)
cat(apa$report_text)Interpretation:
report_text is the compact narrative output.section_map is the machine-readable map of what text
blocks are available.Use apa_table() when you want reproducible handoff
tables without rebuilding captions or notes by hand.
tbl_summary <- apa_table(fit, which = "summary")
tbl_reliability <- apa_table(fit, which = "reliability", diagnostics = diag)
tbl_summary$caption
tbl_reliability$noteThe actual table data are stored in tbl_summary$table
and tbl_reliability$table.
For reporting workflows, build_visual_summaries() is the
bridge between statistical results and figure-ready plot data.
When bias or local interaction screens matter, keep the wording conservative. The package treats these outputs as screening-oriented unless the current precision and design evidence justify stronger claims.
bias_df <- load_mfrmr_data("example_bias")
fit_bias <- fit_mfrm(
bias_df,
person = "Person",
facets = c("Rater", "Criterion"),
score = "Score",
method = "MML",
model = "RSM",
quad_points = 7
)
diag_bias <- diagnose_mfrm(fit_bias, residual_pca = "none")
bias <- estimate_bias(fit_bias, diag_bias, facet_a = "Rater", facet_b = "Criterion")
apa_bias <- build_apa_outputs(fit_bias, diagnostics = diag_bias, bias_results = bias)
apa_bias$section_map[, c("SectionId", "Available", "Heading")]For a compact manuscript-oriented route:
fit_mfrm()diagnose_mfrm()precision_review_report()reporting_checklist()build_apa_outputs()apa_table()build_visual_summaries()