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
attributesChanges the attributes of variables used in this action.
corrOutSpecifies an output table to contain the correlation matrix, summary statistics, and number of observations data.
displaySpecifies a list of results tables to send to the client for display.
freqSpecifies a numeric variable that contains the frequency of occurrence of each observation.
fuzzSpecifies a minimum threshold that determines whether to print correlations and factor loading values. Values less than the threshold are treated as missing.
inputsSpecifies the input variables to use for analysis.
methodSpecifies the method to be used for factor extraction (e.g., ALPHA, ML, PRINCIPAL, PRINIT, ULS).
nFactorsSpecifies the number of factors to be extracted for each BY group.
outputTablesLists the names of results tables to save as CAS tables on the server.
priorsSpecifies the method of computing prior communality estimates (e.g., SMC, MAX, RANDOM).
referenceStructureWhen set to True, requests output tables that are related to the reference structure (only for oblique rotations).
reorderWhen set to True, reorders the rows (variables) of various factor matrices in the output based on absolute loading values.
rotateSpecifies the method to use for factor rotation (e.g., VARIMAX, PROMAX, OBLIMIN).
tableSpecifies the settings for the input table.
varianceDivisorSpecifies the variance divisor for calculating variances and covariances (DF, N, WDF, WEIGHT).
weightSpecifies 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?