Skip to contents

Plot DIF/bias screening simulation results

Usage

# S3 method for class 'mfrm_signal_detection'
plot(
  x,
  signal = c("dif", "bias"),
  metric = c("power", "false_positive", "estimate", "screen_rate",
    "screen_false_positive"),
  x_var = c("n_person", "n_rater", "n_criterion", "raters_per_person"),
  group_var = NULL,
  draw = TRUE,
  ...
)

Arguments

x

Output from evaluate_mfrm_signal_detection().

signal

Whether to plot DIF or bias screening results.

metric

Metric to plot. For signal = "bias", metric = "power" maps to the screening hit rate (BiasScreenRate).

x_var

Design variable used on the x-axis.

group_var

Optional design variable used for separate lines.

draw

If TRUE, draw with base graphics; otherwise return plotting data.

...

Reserved for generic compatibility.

Value

If draw = TRUE, invisibly returns plotting data. If draw = FALSE, returns that plotting-data list directly. The returned list includes display_metric and interpretation_note so callers can label bias-side plots as screening summaries rather than formal power/error-rate displays.

Examples

sig_eval <- suppressWarnings(evaluate_mfrm_signal_detection(
  n_person = 20,
  n_rater = 3,
  n_criterion = 3,
  raters_per_person = 2,
  reps = 1,
  maxit = 10,
  bias_max_iter = 1,
  seed = 123
))
plot(sig_eval, signal = "dif", metric = "power", x_var = "n_person", draw = FALSE)
#> $plot
#> [1] "signal_detection"
#> 
#> $signal
#> [1] "dif"
#> 
#> $metric
#> [1] "power"
#> 
#> $metric_col
#> [1] "DIFPower"
#> 
#> $display_metric
#> [1] "DIF target-flag rate"
#> 
#> $interpretation_note
#> [1] "DIF-side rates summarize target/non-target flagging behavior under the selected DFF method and threshold settings."
#> 
#> $x_var
#> [1] "n_person"
#> 
#> $group_var
#> NULL
#> 
#> $data
#> # A tibble: 1 × 3
#>   n_person     y group      
#>      <int> <dbl> <chr>      
#> 1       20     0 All designs
#>