我有几个数据集,每个数据集具有相同的结构,我想找到表中每个单元格的平均值。
例如。假设我有三个表,每个表有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
答案 0 :(得分:7)
将数据集连接在一起,然后使用PROC(例如MEANS或SUMMARY)计算平均值..
假设您的表名为table1
,table2
,table3
,A
至C
值位于名为GROUP
的变量中数值为VAL1
和VAL2
:
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 ; ...