BookmarkSubscribeRSS Feed
ssahr
Calcite | Level 5

I'm trying to get factor scores for my data set using polychoric correlation. I am trying to follow the same precedure one would use for Pearson Correlation. The following Pearson Correlation runs fine:


proc factor data=Diss.Impact method=principal score outstat=Diss.Fact;
var Impact_ELLs Impact_curric Impact_acheive Impact_manage Impact_teach;
run;


proc score data=Diss.Impact score=Diss.Fact out=Diss.FScore;
var Impact_ELLs Impact_curric Impact_acheive Impact_manage Impact_teach;
run;

 

After I run the proc factor, the factor statistics table  gives me the correlations, eigenvaules, patters, and scores in the Diss.Fact file. When I run proc score, I get a new data set with my five variables and Factor score for each case. 

 

So, to get the polychoric correlation stats, I run:

 

proc corr data=Diss.Impact polychoric;

var Impact_ELLs Impact_curric Impact_acheive Impact_manage Impact_teach;

run;

 

I have created a new factor statistics table with the polychoric correlation stats but I cannot produce the coefficient score needed to run the proc score test correctly. I get this error:

ERROR: No observation of scoring coefficients having _TYPE_='SCORE' is found in the SCORE= data set.

 

How does one create the scoring coefficients when trying to produce factor score in a polychoric correlation? 

 

I'm using SAS 9.3

 

Cheers-

 

 

1 REPLY 1
ballardw
Super User

Take a close look at the actual contents of the data set you generated with Proc factor, maybe print all or part of it.

 

Then take a look at the data set created by Proc Corr (which you don't show in your code).

 

Proc Score is expecting some specific bits that aren't in the default output of Proc Corr. You likely need to make a pass with a data step to add as a minimum a character variable named _type_ with values of SCORE.

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
  • 1 reply
  • 1419 views
  • 0 likes
  • 2 in conversation