我在R和SAS(在Mac上的Oracle VirtualBox上运行的大学版)中编写了相同的程序,我注意到了一个差异 - 这意味着我搞砸了一些东西。
第一个差异出现在我运行的主成分分析中,我认为它与两个程序中可用功能的内在选项有关。我正在努力查看文档,但我非常感谢本网站精彩专家的协助。
我一直在使用这个文件 - https://drive.google.com/file/d/0B9oqAm9yKaC3bEpicEstRW8wUzg/view?usp=sharing - 来测试这两个程序。
在R中,我的PCA代码非常简单:
pca1=prcomp(predictor_matrix, scale.=TRUE)
并将第一个观察结果转化为以下
<1.01, -0.79, -0.03, -1.08, 1.86,
-0.13, 0.04, -0.03, 0.02, -0.01>
在SAS中,我的PCA代码如下:
proc factor data=regressors
simple corr
Mineigen=0 /*Retain all eigenfunctions*/
NFactors=10
All /*Print All Optional data*/
Out=NewData /*Get the transformed data*/
;
run;
并将第一个观察结果转化为以下
<0.55, -0.53, -0.02, -0.89, 1.96,
1.45, 0.89 , 1.18, 1.15, 1.46>
现在 - 特征向量矩阵在两个程序中是相同的,但特征值是不同的,所以我认为这个问题与缩放有关。但我对SAS来说是全新的,并且可以使用一些关于如何使这两个程序的结果汇总的指针。
答案 0 :(得分:2)
PCA的SAS proc是proc princomp
,而不是proc factor
。尝试
proc princomp data=regressors n=10 out=newdata;
run;