Skip to contents

Guide to the legacy-compatible wrappers and text/file exports in mfrmr. Use this page when you need continuity with older compatibility-oriented workflows, fixed-width reports, or graph/score file style outputs.

This compatibility layer currently applies mainly to diagnostics-based RSM / PCM workflows. First-release GPCM fits now also support graph-only compatibility-style exports, while scorefile and diagnostics-driven compatibility outputs remain limited to RSM / PCM. Treat this layer as a presentation/contract surface, not as a claim of FACETS or ConQuest numerical equivalence.

SPSS is treated differently from FACETS and ConQuest: mfrmr currently supports table/data-frame/CSV handoff for SPSS-oriented reporting workflows, but it does not generate SPSS syntax, write native SPSS system files, execute SPSS estimators, or claim SPSS numerical equivalence.

When to use this layer

  • You are reproducing an older workflow that expects one-shot wrappers.

  • You need fixed-width text blocks for console, logs, or archival handoff.

  • You need graphfile or scorefile style outputs for downstream legacy tools.

  • You are checking column coverage and metric consistency against a FACETS-style output contract.

When not to use this layer

Compatibility map

facets_positioning_guide()

User-facing wording for the package's relationship to FACETS. Use before describing compatibility outputs in a report or migration note.

run_mfrm_facets()

One-shot legacy-compatible wrapper that fits, diagnoses, and returns key tables in one object.

mfrmRFacets()

Alias for run_mfrm_facets() kept for continuity.

build_fixed_reports()

Fixed-width interaction and pairwise text blocks. Best when a text-only compatibility artifact is required.

facets_output_file_bundle()

Graphfile/scorefile style CSV and fixed-width exports for legacy pipelines.

write_mfrm_residual_file()

Package-native observation-level residual CSV/TSV export for reviewer, spreadsheet, or external QC handoff.

write_mfrm_subset_file()

Package-native connected-subset summary and node-membership CSV/TSV export for linking review handoff.

facets_output_contract_review()

Column and metric review against the FACETS-style output-contract specification. Use only when an explicit output-contract review is part of the task; it checks the package output contract and does not imply external FACETS equivalence.

Preferred replacements

Practical migration rules

  • Start FACETS-facing reports with facets_positioning_guide() when readers might otherwise assume FACETS numerical reproduction.

  • Keep compatibility wrappers only where a downstream consumer truly needs the old layout or fixed-width format.

  • For new scripts, start from package-native bundles and add compatibility outputs only at the export boundary.

  • Treat compatibility outputs as presentation contracts, not as the primary analysis objects.

  • Use compatibility_alias_table() when you need to check which aliases are still retained and which package-native names should be used in new code.

  • Use reporting_checklist(fit)$software_scope to review the current FACETS, ConQuest, and SPSS relationship wording for a fitted analysis.

Retained table-field names

  • row_review is the data-quality table field used to document row filtering. FACETS-style column and metric contract results are exposed as column_review and metric_checks.

  • Prediction outputs expose row-preparation and person-omission traceability as row_review and population_review.

  • hierarchical_review, shrinkage_review, and nesting_review are manifest or model-comparison traceability fields. They are not callable helper names; user-facing helper names use review/check terminology.

Typical workflow

Companion guides

Examples

if (FALSE) { # \dontrun{
toy <- load_mfrmr_data("example_core")
toy_small <- toy[toy$Person %in% unique(toy$Person)[1:12], , drop = FALSE]

run <- run_mfrm_facets(
  data = toy_small,
  person = "Person",
  facets = c("Rater", "Criterion"),
  score = "Score",
  maxit = 30
)
summary(run)
compatibility_alias_table("functions")

fixed <- build_fixed_reports(
  estimate_bias(
    run$fit,
    run$diagnostics,
    facet_a = "Rater",
    facet_b = "Criterion",
    max_iter = 1
  ),
  branch = "original"
)
names(fixed)
} # }