基本上我有这个
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
答案 0 :(得分:2)
将一个数据集中的所有数据与一个变量一起堆叠,该变量指示它来自哪个数据集(在这种情况下,它看起来会包含' HistoryMark'等等)。然后,您可以将PROC MEANS
与CLASS
声明一起使用,或者在您的情况下,使用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
(标记所用的类)。