SAS和R之间的输出差异

时间:2015-04-22 17:29:12

标签: r sas

我在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来说是全新的,并且可以使用一些关于如何使这两个程序的结果汇总的指针。

1 个答案:

答案 0 :(得分:2)

PCA的SAS proc是proc princomp,而不是proc factor。尝试

proc princomp data=regressors n=10 out=newdata;
run;