EFA Procedure

NFACTORS Statement

  • NFACTORS TYPE=name <options>;

The NFACTORS statement specifies a criterion to use for suggesting the number of factors to extract in an analysis. If you use the NFACTORS=n option in the PROC EFA statement to specify the number of factors to extract, then the NFACTORS statement is not required. In this case, you can still use the NFACTORS statement to investigate alternative criteria for the number of factors or to assess the robustness of your analysis. If you do not specify the NFACTORS=n option in the PROC EFA statement, then you must specify at least one NFACTORS statement.

You must specify the following option:

TYPE=name

specifies the criterion to use for suggesting the number of factors to extract. You can specify the following names:

EIGENVALUE

determines the number of factors to extract by comparing the eigenvalues of the reduced correlation matrix to a threshold value. The threshold value is specified by the THRESHOLD= option. If you omit the THRESHOLD= option, the default value is 1. Each eigenvalue greater than the threshold value indicates the presence of a common factor.

MAP | MAP2

performs a minimum average partial (MAP) correlation analysis (Velicer 1976) to determine the number of factors to extract. This criterion selects the number of factors that corresponds to the number of principal components that are partialed out to yield the smallest average squared partial (residual) correlations among variables.

MAP4

performs a minimum average partial (MAP) correlation analysis similar to that performed by the TYPE=MAP option, but using the smallest average fourth-powered partial (residual) correlations among variables (Velicer, Eaton, and Fava 2000).

PARALLEL

performs a parallel analysis as described by Glorfeld (1995) and Horn (1965). This criterion selects the number of factors that corresponds to the first n consecutive eigenvalues of the sample correlation matrix that are significantly greater than the corresponding eigenvalues of random correlation matrices that are generated from a multivariate standard normal distribution.

To compute a parallel analysis, PROC EFA simulates a large number of random correlation matrices and constructs an empirical distribution for each positional eigenvalue: largest, second-largest, and so on (Glorfeld 1995). You can use the NSIMULATIONS= option to specify the number of simulations to use. If you omit the NSIMULATIONS= option, PROC EFA uses a default value of 10,000. A factor is suggested if an observed eigenvalue is greater than the critical value at a specified one-sided alpha level, with reference to the corresponding simulated distribution of random eigenvalues. You can use the ALPHA= option to specify the alpha level. If you omit the ALPHA= option, PROC EFA uses a default value of 0.05. As soon as an observed eigenvalue is less than or equal to the corresponding critical value, no more factors are counted. In other words, only the first n consecutive significant eigenvalues are counted for the number of factors.

Note that the parallel analysis criterion is based on the standard correlation matrix, not the reduced correlation matrix. The choice of prior communalities does not affect the parallel analysis.

PROPORTION

determines the number of factors to extract by determining the smallest number of factors such that the cumulative proportion of common variance explained exceeds a threshold value. The threshold value is specified by the THRESHOLD= option. If you omit the THRESHOLD= option, the default value is 1.

For this criterion, the eigenvalues are sorted in descending order, and the proportion of the common variance explained by each eigenvalue is computed. Note that the denominator (that is, the total common variance) in computing the proportion here is the sum of the initial communality estimates and not the total variances of variables (which would be the same as the number of variables with a correlation input) unless all prior communality estimates are ones.

The TYPE=EIGENVALUE and TYPE=PROPORTION criteria refer to properties of the reduced correlation matrix. The reduced correlation matrix is the correlation matrix for the analysis variables, but where the diagonal entries of the matrix are replaced by estimates of the communalities for the corresponding variables. For more information about specifying communalities, see the section Prior Communalities.

You can also specify the following additional options:

ALPHA=p

specifies the one-sided alpha level for computing the critical value at the upper end of the simulated distribution of eigenvalues in a parallel analysis. The value of p must be between 0 and 1. By default, ALPHA=0.05. This option has an effect only when you specify TYPE=PARALLEL in the NFACTORS statement.

NSIMULATIONS=n
NSIMS=(n)
NSIM=(n)

specifies the number of simulations to use in constructing an empirical distribution of eigenvalues for a parallel analysis. The value of n must be greater than or equal to 200. By default, NSIMULATIONS=10000. This option has an effect only when you specify TYPE=PARALLEL in the NFACTORS statement.

SEED=n

specifies the initial seed for the pseudorandom number generator that is used to simulate correlation matrices for a parallel analysis. The value of the SEED= option must be an integer. If you omit the SEED= option or if the specified value is negative or 0, the time of day from the computer’s clock is used to obtain the initial seed. This option has an effect only when you specify TYPE=PARALLEL in the NFACTORS statement.

STATUS=ACTIVE | INACTIVE

specifies the status of the criterion for determining the number of factors to extract. By default, STATUS=ACTIVE. A criterion that has an active status is used to determine the final number of factors to extract. A criterion that has an inactive status is computed for informational purposes only and is not used to determine the final number of factors. The final number of factors to extract is computed by combining the numbers of factors that is suggested by all the criteria whose status is active. The numbers are combined according to the value of the NFACTORS= statement in the PROC EFA statement.

THRESHOLD=p

specifies the threshold value for either a TYPE=EIGENVALUE or TYPE=PROPORTION criterion. For a TYPE=EIGENVALUE criterion, each eigenvalue greater than the threshold value indicates the presence of a common factor. For a TYPE=PROPORTION criterion, the number of factors that is suggested is the smallest number of eigenvalues that is required so that the proportion of common variance explained exceeds the threshold.

Last updated: June 22, 2026