factorAnalysis

faExtract

Description

Extracts common factors. The faExtract action is part of the Factor Analysis action set and provides functionality to perform factor analysis using various extraction methods such as Principal Component Analysis, Maximum Likelihood, and others. It supports handling of priors, rotation of factors, and handling of Heywood cases.

Settings
ParameterDescription
attributes Changes the attributes of variables used in this action.
corrOut Specifies an output table to contain the correlation matrix, summary statistics, and number of observations data.
display Specifies a list of results tables to send to the client for display.
freq Specifies a numeric variable that contains the frequency of occurrence of each observation.
fuzz Specifies a minimum threshold that determines whether to print correlations and factor loading values. Values less than the threshold are treated as missing.
inputs Specifies the input variables to use for analysis.
method Specifies the method to be used for factor extraction (e.g., ALPHA, ML, PRINCIPAL, PRINIT, ULS).
nFactors Specifies the number of factors to be extracted for each BY group.
outputTables Lists the names of results tables to save as CAS tables on the server.
priors Specifies the method of computing prior communality estimates (e.g., SMC, MAX, RANDOM).
referenceStructure When set to True, requests output tables that are related to the reference structure (only for oblique rotations).
reorder When set to True, reorders the rows (variables) of various factor matrices in the output based on absolute loading values.
rotate Specifies the method to use for factor rotation (e.g., VARIMAX, PROMAX, OBLIMIN).
table Specifies the settings for the input table.
varianceDivisor Specifies the variance divisor for calculating variances and covariances (DF, N, WDF, WEIGHT).
weight Specifies a numeric variable to use as a weight to perform a weighted analysis of the data.
Data Preparation View data prep sheet
Create Sample Data for Factor Analysis

Creates a dataset 'socio_economics' containing socio-economic indicators for analysis.

Copied!
1PROC CAS;
2 dataStep.runCode / code="
3 data casuser.socio_economics;
4 input Population Schooling Employment Services HouseValue;
5 datalines;
6 5700 12.5 85 5 25000
7 1000 10.0 70 2 15000
8 3000 11.0 75 3 20000
9 8000 14.0 90 8 35000
10 6000 12.0 80 6 27000
11 4500 11.5 78 4 22000
12 ;
13 run;
14 ";
15RUN;

Examples

Performs a simple factor analysis using the default Principal Component method extracting 1 factor.

SAS® / CAS Code Code awaiting community validation
Copied!
1PROC CAS;
2 factorAnalysis.faExtract /
3 TABLE={name="socio_economics", caslib="casuser"},
4 nFactors=1;
5RUN;
Result :
Generates factor pattern and eigenvalue tables for one extracted factor.

Performs factor analysis using Maximum Likelihood estimation, extracts 2 factors, applies Varimax rotation, and uses Squared Multiple Correlations (SMC) for priors.

SAS® / CAS Code Code awaiting community validation
Copied!
1PROC CAS;
2 factorAnalysis.faExtract /
3 TABLE={name="socio_economics", caslib="casuser"},
4 method={name="ML", maxIterations=50},
5 nFactors=2,
6 priors={type="SMC"},
7 rotate={type="VARIMAX"},
8 outputTables={names={"FactorPattern", "Eigenvalues", "RotatedFactorPattern"}};
9RUN;
Result :
Produces rotated factor patterns and eigenvalues based on the ML method and Varimax rotation.

FAQ

What is the primary purpose of the faExtract action?
Which parameter is strictly required to run the faExtract action?
What is the default method used for factor extraction if none is specified?
How can I perform factor rotation using this action?
How can I handle Heywood cases during the extraction process?
Is it possible to output the correlation matrix and summary statistics?