SAS在多个数据集上查找平均值

时间:2014-08-27 14:26:51

标签: sas average

我有几个数据集,每个数据集具有相同的结构,我想找到表中每个单元格的平均值。

例如。假设我有三个表,每个表有3行(A-C)和2列(1-2),如何计算这些单元的平均值?

  1 2    1 2    1 2
A 2 1  A 0 1  A 4 1
B 9 0  B 0 2  B 0 1
C 1 5  C 2 2  C 3 2

结果将是:

  1 2
A 2 1
B 3 1
C 2 3

1 个答案:

答案 0 :(得分:7)

将数据集连接在一起,然后使用PROC(例如MEANS或SUMMARY)计算平均值..

假设您的表名为table1table2table3AC值位于名为GROUP的变量中数值为VAL1VAL2

data master ;
  set table1-table3 ;
run ;

proc summary data=master nway ;
  class GROUP ;
  var VAL1 VAL2 ;
  output out=averages (drop=_:) mean= ;
run ;

proc print ; run ;

如果源数据集的大小很大,请考虑将master创建为视图而不是数据集:

data master / view=master ;
  set table1-table3 ;
run ;

...