% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/api-response-time.R
\name{response_time_review}
\alias{response_time_review}
\title{Review response-time patterns outside the MFRM likelihood}
\usage{
response_time_review(
  data,
  person,
  facets = NULL,
  time,
  score = NULL,
  time_unit = "seconds",
  min_time = 0,
  rapid_threshold = NULL,
  slow_threshold = NULL,
  rapid_quantile = 0.05,
  slow_quantile = 0.95,
  rapid_rate_warn = 0.25,
  slow_rate_warn = 0.25,
  min_n_flag = 3L
)
}
\arguments{
\item{data}{A data.frame in long format with one row per observed rating
event.}

\item{person}{Column name for the person identifier.}

\item{facets}{Optional character vector of facet columns to summarize.}

\item{time}{Column name containing positive response times.}

\item{score}{Optional ordered-score column. When supplied, score-level
response-time summaries are returned.}

\item{time_unit}{Label for the response-time unit, such as \code{"seconds"}.}

\item{min_time}{Minimum valid response time. Values must be strictly greater
than this threshold; default 0.}

\item{rapid_threshold}{Optional numeric response-time cutoff for rapid
responses. When \code{NULL}, it is estimated from \code{rapid_quantile}.}

\item{slow_threshold}{Optional numeric response-time cutoff for slow
responses. When \code{NULL}, it is estimated from \code{slow_quantile}.}

\item{rapid_quantile}{Quantile used when \code{rapid_threshold = NULL}.}

\item{slow_quantile}{Quantile used when \code{slow_threshold = NULL}.}

\item{rapid_rate_warn}{Group-level rapid-response rate that creates a
descriptive flag; default 0.25.}

\item{slow_rate_warn}{Group-level slow-response rate that creates a
descriptive flag; default 0.25.}

\item{min_n_flag}{Minimum group size before rapid/slow rates are flagged;
default 3.}
}
\value{
An object of class \code{mfrm_response_time_review}, a list with
\code{overview}, \code{thresholds}, \code{observations}, \code{person_summary},
\code{facet_summary}, \code{score_summary}, \code{flags}, and \code{notes}.
}
\description{
Build a descriptive response-time review table from the same long-format
rating-event data used by \code{\link[=fit_mfrm]{fit_mfrm()}}. This helper does not fit a joint
response-time model and does not change MFRM estimates. It summarizes
response-time distributions, distributional rapid/slow flags, and person /
facet / score-level response-time patterns for screening and reporting
context.
}
\examples{
toy <- load_mfrmr_data("example_core")
toy$ResponseTime <- 12 + as.numeric(factor(toy$Person)) * 0.4 +
  as.numeric(toy$Score)
rt <- response_time_review(
  toy,
  person = "Person",
  facets = c("Rater", "Criterion"),
  score = "Score",
  time = "ResponseTime"
)
summary(rt)
plot_response_time_review(rt, draw = FALSE)
}
\seealso{
\code{\link[=plot_response_time_review]{plot_response_time_review()}}, \code{\link[=fit_mfrm]{fit_mfrm()}},
\link{mfrmr_visual_diagnostics}, \code{\link[=mfrmr_output_guide]{mfrmr_output_guide()}}
}
\concept{quality control}
\concept{response time}
\concept{visual diagnostics}
