% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/api-plotting-extras.R
\name{plot_dif_summary}
\alias{plot_dif_summary}
\title{Summary plot of differential functioning effect sizes}
\usage{
plot_dif_summary(
  x,
  top_n = 30L,
  sort_by = c("abs_effect", "effect", "classification"),
  preset = c("standard", "publication", "compact", "monochrome"),
  draw = TRUE,
  ci_level = NULL,
  effect_thresholds = NULL,
  effect_axis_label = NULL
)
}
\arguments{
\item{x}{Output from \code{\link[=analyze_dff]{analyze_dff()}} or \code{\link[=analyze_dif]{analyze_dif()}}.}

\item{top_n}{Maximum rows shown (default \code{30}).}

\item{sort_by}{\code{"abs_effect"} (default), \code{"effect"}, or
\code{"classification"}.}

\item{preset}{Visual preset.}

\item{draw}{If \code{TRUE}, draw with base graphics.}

\item{ci_level}{Optional confidence level for approximate normal
intervals drawn from \verb{Effect +/- z * SE} when finite standard errors are
available. Use \code{NULL} (default) to omit intervals.}

\item{effect_thresholds}{Optional numeric vector of absolute effect-size
guide lines to draw at \verb{+/- threshold}. These are display aids; only use
ETS-like values when the source rows support ETS interpretation.}

\item{effect_axis_label}{Optional x-axis label override. When \code{NULL}, the
label is chosen from the DFF method.}
}
\value{
An \code{mfrm_plot_data} object whose \code{data} slot contains
columns \code{Pair}, \code{Effect}, \code{SE}, \code{Classification}, \code{Color}.
}
\description{
Compact effect-size summary for a \code{\link[=analyze_dff]{analyze_dff()}} / \code{\link[=analyze_dif]{analyze_dif()}}
result. Shows each contrast's signed effect size as a horizontal bar
with a vertical reference at zero, coloured by the method-appropriate
classification. ETS-style A / B / C colours are used only when they
are actually available; residual-method screening labels otherwise use
the neutral colour.
}
\section{Interpreting output}{

Bars are anchored at zero. Width corresponds to effect size on the
contrast's native scale. For \code{method = "residual"}, this is the
observed-minus-expected average screening contrast between groups. For
\code{method = "refit"}, this is the subgroup parameter difference on the
fitted logit scale when linking support allows a comparable contrast.
The ETS classification (A negligible, B moderate, C large) drives bar
colour only when \code{ClassificationSystem == "ETS"}; otherwise the bar
uses the preset's neutral.
}

\examples{
toy <- load_mfrmr_data("example_bias")
fit <- fit_mfrm(toy, "Person", c("Rater", "Criterion"), "Score",
                method = "JML", maxit = 30)
diag <- diagnose_mfrm(fit, residual_pca = "none")
dff <- analyze_dff(fit, diagnostics = diag,
                   facet = "Rater", group = "Group", data = toy)
unique(dff$dif_table$ClassificationSystem)
p <- plot_dif_summary(dff, draw = FALSE)
head(p$data$data)
}
\seealso{
\code{\link[=analyze_dff]{analyze_dff()}}, \code{\link[=analyze_dif]{analyze_dif()}}, \code{\link[=plot_dif_heatmap]{plot_dif_heatmap()}}.
}
\concept{DFF DIF}
\concept{confidence intervals}
\concept{visual diagnostics}
