Skip to contents

Build a category curve export bundle (preferred alias)

Usage

category_curves_report(
  fit,
  theta_range = c(-6, 6),
  theta_points = 241,
  digits = 4,
  include_fixed = FALSE,
  fixed_max_rows = 400
)

Arguments

fit

Output from fit_mfrm().

theta_range

Theta/logit range for curve coordinates.

theta_points

Number of points on the theta grid.

digits

Rounding digits for numeric graph output.

include_fixed

If TRUE, include a legacy-compatible fixed-width text block.

fixed_max_rows

Maximum rows shown in fixed-width graph tables.

Value

A named list with category-curve components. Class: mfrm_category_curves.

Details

Preferred high-level API for category-probability curve exports. Returns tidy curve coordinates and summary metadata for quick plotting/report integration without calling low-level helpers directly.

Interpreting output

Use this report to inspect:

  • where each category has highest probability across theta

  • whether adjacent categories cross in expected order

  • whether probability bands look compressed (often sparse categories)

Recommended read order:

  1. summary(out) for compact diagnostics.

  2. out$curve_points (or equivalent curve table) for downstream graphics.

  3. plot(out) for a default visual check.

Typical workflow

  1. Fit model with fit_mfrm().

  2. Run category_curves_report() with suitable theta_points.

  3. Use summary() and plot(); export tables for manuscripts/dashboard use.

Examples

toy <- load_mfrmr_data("example_core")
fit <- fit_mfrm(toy, "Person", c("Rater", "Criterion"), "Score", method = "JML", maxit = 25)
out <- category_curves_report(fit, theta_points = 101)
summary(out)
#> mfrmr Category Curves Summary 
#>   Class: mfrm_category_curves
#>   Components (5): graphfile, graphfile_syntactic, probabilities, expected_ogive, settings
#> 
#> Curve grid summary
#>  Rows CurveGroups ThetaPoints ProbabilityColumns
#>   101           1           1                  4
#> 
#> Expected-score / curve rows: expected_ogive
#>  Theta ExpectedScore CurveGroup
#>  -6.00         1.009     Common
#>  -5.88         1.010     Common
#>  -5.76         1.012     Common
#>  -5.64         1.013     Common
#>  -5.52         1.015     Common
#>  -5.40         1.017     Common
#>  -5.28         1.019     Common
#>  -5.16         1.021     Common
#>  -5.04         1.024     Common
#>  -4.92         1.027     Common
#> 
#> Settings
#>         Setting       Value
#>     theta_range       -6, 6
#>    theta_points         101
#>          digits           4
#>   include_fixed       FALSE
#>  fixed_max_rows         400
#>          scales <table 1x2>
#> 
#> Notes
#>  - Expected-score and category-probability curve bundle for scale-structure review.
names(out)
#> [1] "graphfile"           "graphfile_syntactic" "probabilities"      
#> [4] "expected_ogive"      "settings"           
p_cc <- plot(out, draw = FALSE)
class(p_cc)
#> [1] "mfrm_plot_data" "list"