BookmarkSubscribeRSS Feed
PsycResearcher
Calcite | Level 5

Hi,

I have a question about conducting factor analysis on polychoric correlation. I have a correlation table in the following format in SAS:

ABCDE
1.1.2.5.4
.11.4.6.2
.2.41.2.4
.5.6.21.1
.4.2.4.11

 

A B C D E are the variables in the dataset (the actual dataset has 17 variables), with 1000 observations.

I conduct the factor analysis with the following syntax:

PROC FACTOR data =matrix1 (TYPE=CORR)

METHOD = ULS NFACTOR= 3 NOBS= 1000

ROTATE = v SCREE CORR;

RUN;

SAS complains the following:

(MESSAGE 1)

No _NAME_ variable in the TYPE=CORR data set WORK.MATRIX1. Be sure that the variables are specified in the same order as the corresponding observations appear in the dataset.

(MESSAGE 2)

The CORR matrix read from the input dataset WORK.MATRIX1 has a diagonal element equal to 0.999999 for the variable A.

The CORR matrix read from the input dataset WORK.MATRIX1 has a diagonal element equal to 0.999999 for the variable B.

The CORR matrix read from the input dataset WORK.MATRIX1 has a diagonal element equal to 0.999999 for the variable C.

The CORR matrix read from the input dataset WORK.MATRIX1 has a diagonal element equal to 0.999999 for the variable D.

The CORR matrix read from the input dataset WORK.MATRIX1 has a diagonal element equal to 0.999999 for the variable E.

So, SAS does not allow any 1's in a correlation matrix? When A correlates with A, for example, the correlation will naturally be 1. Why is SAS complaining?

Any help will be useful.

Thanks!

Chester

2 REPLIES 2
Ksharp
Super User

It looks like your correlation table matrix1 (TYPE=CORR) has not proper format about SAS CORR TABLE.

Should like:

_type_ _name_ p1 p2 p2 p4

CORR   P1       1.0

CORR   P2       .39 1.0

..............................

CORR  P4       ..................1.0

N          N        123 123 123 123

Ksharp

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 2 replies
  • 1484 views
  • 0 likes
  • 3 in conversation