SPSS Macros drastically reduce the time needed to run factor analysis and creating summary variables. In the video below I demonstrate how you can greatly increase the speed at which you analyze your data as well as creating the new variables with summary factor scores.
By running Factor analysis twice (but changing the output) you can make it much easier to create summary variables once you’re happy with your solution!
Video demonstrating SPSS Macro running Factor Analysis
https://www.youtube.com/watch?v=902p2WDInzA
Here is the SPSS macro for Factor analysis:
*///////////////.
DEFINE !Factor (Rotate !TOKENS (1) / Title !Tokens (1) / Sav !Tokens (1) /Varys !CMDEND)
Include "B:\SPSS\Syntax\Output_Off.SPS".
script "B:\SPSS\Scripts\Empty.sbs".
Include "B:\SPSS\Syntax\Show Names.SPS".
FACTOR /VARIABLES !Varys /PRINT ROTATION /FORMAT SORT /CRITERIA MINEIGEN(1) ITERATE(25) /EXTRACTION PC
/CRITERIA ITERATE(50) /METHOD=CORRELATION /ROTATION !Rotate / !Unquote(!SAV).
Script "B:\Scripts\Parse\Clean viewer.sbs" ("Component Transformation Matrix").
Script "B:\Scripts\Parse\Clean viewer.sbs" ("Component Matrix").
script "B:\Scripts\S2\Wrap Rows.sbs".
*Script "B:\Scripts\Factor Flag.SBS".
Script "B:\Scripts\Flag above .45.SBS".
Script "B:\Scripts\Flag above .65.SBS".
Script "B:\Scripts\Flag above .80.SBS".
Script "B:\Scripts\S2\Right Align Column.SBS".
Script "B:\Scripts\Parse\Clean viewer.sbs" ("Total Variance Explained").
*/ Second run of SPSS Macro *.
Include "B:\Syntax\Show Labels.SPS".
FACTOR /VARIABLES !Varys /PRINT ROTATION /FORMAT SORT /CRITERIA MINEIGEN(1) ITERATE(25) /EXTRACTION PC
/CRITERIA ITERATE(50) /METHOD=CORRELATION /ROTATION !Rotate.
Script "B:\Scripts\Parse\Clean viewer.sbs" ("Component Transformation Matrix").
Script "B:\Scripts\Parse\Clean viewer.sbs" ("Component Matrix").
script "B:\Scripts\S2\Wrap Rows.sbs".
*Script "B:\Scripts\Factor Flag.SBS".
Script "B:\Scripts\Flag above .45.SBS".
Script "B:\Scripts\Flag above .65.SBS".
Script "B:\Scripts\Flag above .80.SBS".
Script "B:\Scripts\S2\Right Align Column.SBS".
!ENDDEFINE.
*///////////////.
!Factor Rotate=Varimax SAV="SAVE REG(ALL)" Varys= to .*/
/*EQUAMAX QUARTIMAX VARIMAX */.
And here is the other SPSS macro which eases creating of a new factor. It takes a little getting used to but is well worth the effort if you’re doing a lot of factor analysis.
*////////////////.
DEFINE !CreateFac (NewFac !TOKENS (1) / Label !TOKENS (1) / Vars=!CMDEND)
Compute !NewFac=Mean(!HEAD(!Vars) !DO !v !IN (!TAIL(!Vars)) , !v !DOEND ).
Format !NewFac (F5.2).
Var Label !NewFac !Label.
exe.
!ENDDEFINE.
*////////////////.
/*!CreateFac NewFac=Joe Label="Joe Rocks" Vars=Enc_friend Proud Und_wrk_res Eth_Std Job_aligns MissPurp.