如何在 sas 中使用 proc compare(附示例)
您可以使用 SAS 中的PROC COMPARE来快速识别两个数据集之间的相似点和差异。
此过程使用以下基本语法:
proc compare base =data1 compare =data2; run ;
以下示例展示了如何在实践中使用此过程。
示例:在 SAS 中使用 Proc Compare
假设我们在 SAS 中有以下两组数据:
/*create datasets*/
data data1;
input team $pointsrebounds;
datalines ;
At 25 10
B 18 4
C 18 7
D 24 12
E 27 11
;
run ;
data data2;
input team $points;
datalines ;
At 25
B 18
F 27
G21
H 20
;
run ;
/*view datasets*/
proc print data =data1;
proc print data =data2;
我们可以使用下面的PROC COMPARE语句来查找两个数据集之间的异同:
/*compare the two datasets*/
proc compare
base =data1
compare =data2;
run ;
这将在输出中生成三个表:
表 1:两个表的摘要
第一个表提供了每个数据集的简要摘要,包括:
1.每个数据集中变量 (NVar) 和观测值 (NObs) 的数量。
- Data1 有 3 个变量和 5 个观测值
- Data2 有 2 个变量和 5 个观测值
2.两个数据集之间共有变量的数量。
- Data1 和 Data2 有 2 个共同变量(球队和积分)
表 2:数值差异数量汇总
第二个表总结了两个表之间数值差异的数量。
此输出中最有趣的部分是在表的末尾,我们可以在其中看到变量之间差异的摘要:
- 团队变量有 3 个具有不同值的观测值。
- 点变量有 3 个具有不同值的观测值。最大差异为 9。
表 3:观察结果之间的实际差异
第三个表显示了两个数据集中观测值之间的实际差异。
第一个表显示了两个数据集之间的团队变量差异。
- 例如,在 data1 中,团队的第三个观察值为C ,而在 data2 中,第三个观察值为F。
第二个表显示了两个数据集之间点变量的差异。
- 例如,在 data1 中,第三个观测值的点值为18 ,而在 data2 中,第三个观测值的值为27 。两个值之差为9 。
这三个表让我们完全了解两个数据集之间的差异。
请注意,如果您只想比较两个数据集之间特定变量的差异,可以使用以下语法:
/*compare the differences between the datasets only for 'points' variable*/
proc compare
base =data1
compare =data2;
var points;
run ;
这将产生与之前相同的三个表,但仅显示点变量的输出。
注意:您可以在此处找到完整的PROC COMPARE文档。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: