Hi
I have a question regarding the use of the prefix ‘by’ when running post-estimation statistics for a PCA.

My data consists of 25 items, three different respondents (parent, teacher, child) and two different age groups (cohort 1 and cohort 2). I would like to run a PCA and post-estimation for each of these sub-groups. The code for the PCA (below) ran successfully providing me with 6 different outputs.

by Respondent cohort, sort: pca Item1- Item25, mineigen(1)

However, when I run the post estimation tests (rotate and estat KMO) I only receive output for the last respondent x cohort group generated from the above PCA. Below is my code for the PCA and post estimation tests.

by Respondent cohort, sort: pca Item1- Item25, mineigen(1)
quietly rotate
estat rotatecompare
estat kmo, novar

Alternatively I could use the ‘if’ command after the PCA and generate 6 blocks of code (see below) however I would prefer to run the all data together rather than running each individually.

pca Item1- Item25, mineigen(1), if Respondent==1 & cohort==1
quietly rotate
estat rotatecompare
estat kmo, novar
pca Item1- Item25, mineigen(1), if Respondent==1 & cohort==2
quietly rotate
estat rotatecompare
estat kmo, novar
.
.
etc

I am currently using version 15.1

Thanks in advance for your time.