% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/psych_scores.R
\name{ghq12_score}
\alias{ghq12_score}
\title{GHQ-12 scoring (Likert or binary)}
\usage{
ghq12_score(
  data,
  col_map = list(),
  na_action = c("keep", "omit", "error"),
  missing_prop_max = 0.2,
  impute = c("none", "mean"),
  prefix = "GHQ12",
  method = c("likert", "binary"),
  case_cutoff_binary = 3,
  verbose = TRUE
)
}
\arguments{
\item{data}{Data frame containing questionnaire item columns.}

\item{col_map}{Named list mapping canonical item IDs to column names; defaults assume items are already named.}

\item{na_action}{How to handle rows with missing items: \code{keep}, \code{omit}, or \code{error}.}

\item{missing_prop_max}{Maximum allowed proportion of missing items per row before the score is set to \code{NA}.}

\item{impute}{Imputation strategy for missing items when under the threshold: \code{none} or \code{mean} (row-wise mean).}

\item{prefix}{Prefix for output column names.}

\item{method}{Scoring method: \code{likert} (0-3 per item) or \code{binary} (0/1 per item).}

\item{case_cutoff_binary}{Cut-off for case status when using binary scoring.}

\item{verbose}{Logical; if \code{TRUE}, emits informational messages about column resolution and scoring progress via \code{hm_inform()}.}
}
\value{
A tibble of score columns only: \code{GHQ12_total_likert} (likert method) or \code{GHQ12_total_binary} and \code{GHQ12_case_binary} (binary method). Input columns are not included.
}
\description{
GHQ-12 scoring (Likert or binary)
}
\examples{
df <- data.frame(ghq12_01 = 0, ghq12_02 = 1, ghq12_03 = 2, ghq12_04 = 1,
                 ghq12_05 = 0, ghq12_06 = 1, ghq12_07 = 0, ghq12_08 = 1,
                 ghq12_09 = 2, ghq12_10 = 1, ghq12_11 = 0, ghq12_12 = 1)
ghq12_score(df, method = "likert")
}
\references{
\insertRef{goldberg1988ghq12}{HealthMarkers}
}
