Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

- Home
- /
- Analytics
- /
- Stat Procs
- /
- conducting factor analysis on polychoric correlati...

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

10-06-2011 01:54 PM

Hi,

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

A | B | C | D | E |
---|---|---|---|---|

1 | .1 | .2 | .5 | .4 |

.1 | 1 | .4 | .6 | .2 |

.2 | .4 | 1 | .2 | .4 |

.5 | .6 | .2 | 1 | .1 |

.4 | .2 | .4 | .1 | 1 |

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

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to PsycResearcher

10-07-2011 02:41 AM

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

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to PsycResearcher

10-10-2011 08:57 AM

FOr a description of the TUPE+CORR data set, see