% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/psychometrics.R
\name{efa_report}
\alias{efa_report}
\title{Prepare a survey instrument for exploratory factor analysis}
\usage{
efa_report(
  data,
  instrument,
  scales = NULL,
  nfactors = NULL,
  rotation = "oblimin"
)
}
\arguments{
\item{data}{A \code{tibble} or \code{data.frame} of responses.}

\item{instrument}{An \code{sframe} object.}

\item{scales}{Character vector or NULL. Scale IDs whose items to include.
When NULL, all scale items are pooled.}

\item{nfactors}{Integer or NULL. Suggested number of factors to highlight
on the scree plot. When NULL, the parallel analysis recommendation is
used.}

\item{rotation}{Character. The rotation method to display in the diagnostic
notes. Does not affect the diagnostics themselves. Defaults to
\code{"oblimin"}.}
}
\value{
An object of class \code{sframe_efa_report} with elements \code{kmo},
\code{bartlett}, \code{parallel}, and \code{suggested_nfactors}.
}
\description{
Reports KMO sampling adequacy, Bartlett's test of sphericity, and a
parallel analysis scree plot to inform factor number selection. The report
prepares the researcher to estimate an EFA solution with a separate package
such as \code{psych} or \code{lavaan}.
}
\examples{
\donttest{
if (requireNamespace("psych", quietly = TRUE)) {
  demo <- sframe_demo_data()
  er <- efa_report(demo$responses, demo$instrument)
  print(er)
}
}
}
\seealso{
\code{\link[=reliability_report]{reliability_report()}}, \code{\link[=cfa_syntax]{cfa_syntax()}}
}
