% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/EFAtools-superseded.R
\name{HULL}
\alias{HULL}
\title{Hull method}
\usage{
HULL(
  x,
  N = NA,
  n_fac_theor = NA,
  method = c("PAF", "ULS", "ML"),
  gof = c("CAF", "CFI", "RMSEA"),
  eigen_type = c("SMC", "PCA", "EFA"),
  use = c("pairwise.complete.obs", "all.obs", "complete.obs", "everything",
    "na.or.complete"),
  cor_method = c("pearson", "spearman", "kendall", "poly", "tetra"),
  n_datasets = 1000,
  percent = 95,
  decision_rule = c("means", "percentile", "crawford"),
  n_factors = 1,
  ...
)
}
\arguments{
\item{x}{matrix or data.frame. Dataframe or matrix of raw data or matrix with
correlations.}

\item{N}{numeric. Number of cases in the data. This is passed to \link{efa_parallel}.
Only has to be specified if x is a correlation matrix, otherwise it is determined
based on the dimensions of x.}

\item{n_fac_theor}{numeric. Theoretical number of factors to retain. One plus
the larger of this number and the number of factors suggested by \link{efa_parallel}
is used as the upper bound \emph{J} of factors to extract in the Hull method.}

\item{method}{character. The estimator to use; passed to \code{\link[=efa_hull]{efa_hull()}} as its
\code{estimator} argument. One of \code{"PAF"}, \code{"ULS"}, or \code{"ML"}.}

\item{gof}{character. The goodness of fit index to use. Either \code{"CAF"},
\code{"CFI"}, or \code{"RMSEA"}, or any combination of them.
With the \code{"PAF"} estimator, only
the CAF can be used as goodness of fit index. For details on the CAF, see
Lorenzo-Seva, Timmerman, and Kiers (2011).}

\item{eigen_type}{character. On what the eigenvalues should be found in the
parallel analysis. Can be one of \code{"SMC"}, \code{"PCA"}, or \code{"EFA"}.
If using  \code{"SMC"} (default), the diagonal of the correlation matrices is
replaced by the squared multiple correlations (SMCs) of the indicators. If
using  \code{"PCA"}, the diagonal values of the correlation
matrices are left to be 1. If using  \code{"EFA"}, eigenvalues are found on the
correlation  matrices with the final communalities of an EFA solution as
diagonal. This is passed to  \code{\link[=efa_parallel]{efa_parallel()}}.}

\item{use}{character. Passed to \code{\link[stats:cor]{stats::cor()}} if raw data
is given as input. Default is \code{"pairwise.complete.obs"}.}

\item{cor_method}{character. One of \code{"pearson"}, \code{"spearman"}, or \code{"kendall"},
passed to \code{\link[stats:cor]{stats::cor()}}. \code{"poly"} and \code{"tetra"} are not supported because
\code{HULL} derives its factor-search bound from an internal parallel analysis
against continuous reference data.
Default is  \code{"pearson"}.}

\item{n_datasets}{numeric. The number of datasets to simulate. Must be at
least 1. Default is 1000. This is passed to \code{\link[=efa_parallel]{efa_parallel()}}.}

\item{percent}{numeric. The percentile to take from the simulated eigenvalues.
Default is 95. This is passed to \code{\link[=efa_parallel]{efa_parallel()}}.}

\item{decision_rule}{character. Which rule to use to determine the number of
factors to retain. Default is \code{"means"}, which will use the average
simulated eigenvalues. \code{"percentile"}, uses the percentiles specified
in percent. \code{"crawford"} uses the 95th percentile for the first factor
and the mean afterwards (based on Crawford et al, 2010). This is passed to \code{\link[=efa_parallel]{efa_parallel()}}.}

\item{n_factors}{numeric. Number of factors to extract if  \code{"EFA"} is
included in \code{eigen_type}. Default is 1. This is passed to
\code{\link[=efa_parallel]{efa_parallel()}}.}

\item{...}{Further arguments passed on to the \code{\link[=efa_fit]{efa_fit()}} fits, including the
estimation tuning knobs (\code{type}, \code{init_comm}, \code{criterion}, \code{criterion_type},
\code{max_iter}, \code{abs_eigen}, \code{start_method}), which are repacked into an
\code{\link[=estimate_control]{estimate_control()}} object so that they tune the fits exactly as they always did.
The estimator is selected with \code{method}.}
}
\value{
An object of class \code{efa_retention}, identical to the value of
\code{\link[=efa_hull]{efa_hull()}}; see there for the components.
}
\description{
\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#superseded}{\figure{lifecycle-superseded.svg}{options: alt='[Superseded]'}}}{\strong{[Superseded]}}

\code{HULL()} has been superseded by \code{\link[=efa_hull]{efa_hull()}}, which is the recommended
interface going forward. It remains available and unchanged so existing code
keeps working.
}
\seealso{
\code{\link[=efa_hull]{efa_hull()}}
}
