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

use*_*648 3 average sas

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

例如.假设我有三个表,每个表有3行(AC)和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
Run Code Online (Sandbox Code Playgroud)

结果将是:

  1 2
A 2 1
B 3 1
C 2 3
Run Code Online (Sandbox Code Playgroud)

Chr*_*s J 7

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

假设您的表被调用table1,table2table3,并且Ato C值在一个被调用的变量中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 ;

...