% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/content_validity.R
\name{content_validity}
\alias{content_validity}
\title{Comprehensive content validity analysis}
\usage{
content_validity(
  ratings,
  relevant_threshold = 3,
  lo = 1,
  hi = 4,
  na.rm = FALSE
)
}
\arguments{
\item{ratings}{A numeric matrix or data frame of expert ratings (rows =
experts, columns = items) on a relevance scale.}

\item{relevant_threshold}{Integer. Minimum rating considered "relevant".
Passed to \code{\link[=icvi]{icvi()}}, \code{\link[=scvi_ave]{scvi_ave()}}, \code{\link[=scvi_ua]{scvi_ua()}}, and \code{\link[=mod_kappa]{mod_kappa()}}.
Defaults to 3.}

\item{lo, hi}{Numeric. Minimum and maximum possible rating values on the
scale; passed to \code{\link[=aiken_v]{aiken_v()}}. Defaults to 1 and 4.}

\item{na.rm}{Logical. Passed to all underlying functions. Defaults to
\code{FALSE}.}
}
\value{
An object of class \code{"content_validity"}: a list containing
\itemize{
\item \code{items}: a data frame with one row per item and columns \code{item},
\code{icvi}, \code{mod_kappa}, and \code{aiken_v}.
\item \code{scale}: a named numeric vector with \code{scvi_ave}, \code{scvi_ua}, and
\code{mean_kappa}.
\item \code{n_experts}: integer, number of experts (rows).
\item \code{n_items}: integer, number of items (columns).
}
}
\description{
Runs the standard relevance-scale content validity indices on a single
ratings matrix and returns a tidy summary. Computes Item-level CVI,
modified kappa, and Aiken's V at the item level, and S-CVI/Ave, S-CVI/UA,
and the mean modified kappa at the scale level.
}
\details{
Lawshe's CVR is not included in this wrapper because it uses a different
rating convention (essential / useful but not essential / not necessary).
For CVR analyses, use \code{\link[=cvr]{cvr()}} and \code{\link[=cvr_critical]{cvr_critical()}} directly.
}
\examples{
ratings <- matrix(
  c(4, 4, 3, 4, 4,
    3, 4, 4, 4, 3,
    2, 3, 3, 4, 3,
    1, 2, 3, 2, 3),
  nrow = 5,
  dimnames = list(NULL, paste0("item", 1:4))
)
result <- content_validity(ratings)
result
result$items
result$scale

}
\seealso{
\code{\link[=icvi]{icvi()}}, \code{\link[=scvi_ave]{scvi_ave()}}, \code{\link[=scvi_ua]{scvi_ua()}}, \code{\link[=mod_kappa]{mod_kappa()}},
\code{\link[=aiken_v]{aiken_v()}}, \code{\link[=cvr]{cvr()}}
}
