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

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

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
  • 1465 views
  • 0 likes
  • 3 in conversation