【问题标题】:how to compare 2 columns in 2 tables using SAS如何使用 SAS 比较 2 个表中的 2 列
【发布时间】:2021-09-08 17:42:24
【问题描述】:

在 2 个表 a1、a2 中有 2 个相似的列(x1 与 x2)。我怎样才能匹配和排列它们? 我尝试了比较功能,但失败了。

data a1;
input x1 $15.;
cards;
abcd
go shopping
DUT univarsity 
he is driving 
;
run;
data a2;
input x2 $15.;
 cards;
golf shopping
she is driving
abcdf
DUT univars 
;
run;

我想要具有匹配值的决赛桌:

abcd               abcdf
go shopping        golf shopping
DUT univarsity     DUT univars
he is driving      she is driving

【问题讨论】:

    标签: sas compare


    【解决方案1】:

    这个解决方案不能很好地扩展,但你明白了。使用 COMPGED 找到最近的匹配并取最小值。这不适用于您没有很好匹配的情况。

    您实际上是在进行模糊匹配,这是一个计算密集型的过程。

    proc sql;
    create table want as
    select t1.x1, t2.x2 
    from a1 as t1, a2 as t2
    group by t1.x1
    having compged(x1, x2) = min(compged(x1, x2));
    quit;
    

    【讨论】:

    • 我试过 COMPGED 但你的方法效果更好,谢谢 Reeza!
    猜你喜欢
    • 1970-01-01
    • 2019-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-26
    • 1970-01-01
    相关资源
    最近更新 更多