如何在sas中创建网格/矩阵?

时间:2014-01-27 23:26:22

标签: sas

基本上我有这个

proc means data=mydada1;
    var variable1;
run;
proc means data=mydada2;
    var variable2;
run;

我喜欢这些过程中的14个意味着它们基本上计算每个数据集的平均值。 我想在2x2网格或矩阵中显示这些方法,如下面的

     HistoryMark  GeographyMark MathematicsMarks 
Name   
John  2.2         2.5         2.6
Jack  2.7         2.8          9.0

我在考虑2D数组,但我不知道如何从proc方法中提取数据,并且无论如何还要摆脱这14个proc方法并创建一个步骤来计算各种数据集的方法。

Mydata,MyData1看起来像这样

2.3 
2.5
2.78 
2.9
-2.4
-2.5
2.09
2.9999

1 个答案:

答案 0 :(得分:2)

将一个数据集中的所有数据与一个变量一起堆叠,该变量指示它来自哪个数据集(在这种情况下,它看起来会包含' HistoryMark'等等)。然后,您可以将PROC MEANSCLASS声明一起使用,或者在您的情况下,使用PROC TABULATE可能更好CLASS。假设have是通过将数据集堆叠在一起而创建的数据集:

proc tabulate data=have;
class name mark_class;
var mark;
tables name,mark_class*mark*mean;
run;

类似的东西,假设你有mark(他们的分数),name(他们的名字)和mark_class(标记所用的类)。