SAS比较列中的数据

时间:2016-03-28 16:34:51

标签: sas compare

我对SAS很陌生,我正试图找出使用它的方法。我试图弄清楚如何使用比较程序。基本上我想要做的是查看一列中的值是否与另一列中的值相乘,并计算错误的数量。所以,如果我有这个数据集:

 a b
 2 4
 1 2
 3 5

它应检查b = 2 * a并告诉我它们有多少错误。我一直在阅读比较程序的文档,但就像我说我很新,我似乎无法弄清楚如何检查这个。

2 个答案:

答案 0 :(得分:2)

如果使用PROC COMPARE,你可以这样做,但你仍然需要计算2 * a而你不能用PROC COMPARE做到这一点。我会创建一个FLAG并总结FLAG。对于不相等的值,IFN函数返回1。 PROC MEANS计算1的平均值是百分比,总和是非匹配的计数。

$ ack pattern1 | ack pattern2 | ack pattern3 | ...

enter image description here

答案 1 :(得分:0)

Proc compare 比较两个不同数据集中的值,而您的变量都在一个数据集中。以下可能是最简单的:

data matches errors;
    set temp;
    if b = 2 * a then output matches;
    else output errors;
run;