如何在 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 中执行其他常见任务:

如何在SAS中使用过程摘要
如何在 SAS 中使用 Proc Tabulate
如何在 SAS 中使用 Proc 排序规则

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注