我在SAS中写了以下内容:
data test;
infile 'C:\Users\Public\Documents\test.dat';
input a b c d e id;
run;
proc princomp cov out=a;
var a b c d e;
run;
proc corr;
var prin1 prin2 prin3 a b c d e;
run;
有没有办法列出每个id的主要组件的值?我收到的输出只是摘要统计(即最大和最小)和相关性。
答案 0 :(得分:2)
如果您希望按ID进行单独分析,则可以使用BY语句。这为每个ID值提供了单独的主要组件。必须按ID对数据集进行排序才能在BY语句中使用它。
proc sort data = test;
by id;
run;
proc princomp data = test cov out = scores statout = stats;
var a b c d e;
by id;
run;
我称之为SCORES的输出数据集应该包含来自TEST的所有变量以及包含主成分分数的新变量。输出数据集STATS包含各种统计信息,包括特征向量。
寻找SAS解决方案的好地方在于广泛的SAS在线文档。 PROC PRINCOMP的文档是here。
我希望有所帮助!