I am doing Principal Component Analysis (PCA) on assets data for household income prediction. The problem is that the assets data are rank ordered (usually binary ... possess car/don't possess car), so the normal correlation is inappropriate for the calculation of the PCA. Instead one has to use the polychoric correlation coefficient. It uses the "random.polychor.pa" package.



Scenario 1
If i only use PCA without using&nbsp;polychoric correlation
assets.pca &lt;- princomp(covmat = assets, scores=T)
assets$income&lt;-predict(assets2.pca)[,1]

# these predict the&nbsp;coefficient&nbsp;for &nbsp;income for each observation
Scenario 2
but when i run "hetcor" (for&nbsp;polychoric correlation coefficient) , and then&nbsp;princomp (for&nbsp;PCA) and finally predict ( to&nbsp;&nbsp;predict the&nbsp;coefficient&nbsp;for income for each observation).
hetcor and princomp runs fine but predict command&nbsp;doesn't&nbsp;work and it&nbsp;doesn't&nbsp;predict value for each observation
&nbsp;library(epicalc)library(foreign)library(polycor)
assets.mat &lt;- hetcor(assets, use="complete.obs")[[1]] &nbsp;assets.pca &lt;- princomp(covmat = assets.mat, scores=T)assets$income&lt;-predict(assets.pca)[,1]
the problems are&nbsp;why this "pridict" commend throwing error in scenario 2 and not in scenario 1?Is there any other way to predict the values for each observation?
thanks a lotmm

       

	[[alternative HTML version deleted]]

