我需要比较(成对)N个数据集中的观测值。所有数据集都具有相同的表变量属性。我只关心是否发现观测值之间的差异,并且我需要知道哪两个表以及特定的差异。最有效的方法是什么?我在下面有些事,不胜感激。
我当前正在使用以下代码:
proc compare base = a compare = b
outnoequal outbase outcomp outdif noprint out = a_b_out;
run;
因此,对于每个数据集a_b_out,我只关心它是否不为空。 SAS日志可以为此生成注释。 我目前正在使用宏来检查每个a_b_out中是否为空,并有条件地将其输出到永久目录。
有没有更好(更有效的方法)?
答案 0 :(得分:0)
当然,这是一种合理的方法。将其放在宏中,然后让宏运行比较并检查差异。
如果需要,实际上您还可以在运行PROC COMPARE之后使用系统代码来查看报告的差异类型; &SYSINFO.
包含一个值,该值描述了所报告的差异类型-例如,请参见this paper以获取更多信息。 (基本上,它是一个压缩整数,每个位是一个表示差异的标志-第13位表示一个值差异,即4096。