【发布时间】:2014-08-02 01:49:55
【问题描述】:
SAS 中有没有一种方法可以基于数字字段进行模糊left 合并?假设我有下面的两个表,并希望合并最接近的值。
数据集 A:
id_1 label
1 a
2 b
3 c
4 d
6 e
数据集 B:
id_2
1.1
2.9
3.4
4.05
5.1
结果应该是:
id_2 id_1 label
1.1 1 a
2.9 3 c
3.4 3 c
4.05 4 d
5.1 6 e
请注意,由于 5.1 大小写,此处不能选择舍入。
【问题讨论】:
-
技术上
2.9更接近3然后3.4更接近。因此,您的结果表与标签C的描述不匹配。 -
另外,
2.9和1.1与2等距,所以实际上应该为B选择这些值中的哪一个? -
@RobertPenridge 2.9 和 3.4 都匹配 3,因为它们是数据集 A 中最接近的选项。
-
@RobertPenridge 1.1 最接近 1,因此与 1 匹配。2.9 最接近 3,因此与 3 匹配。
-
我想你误会了。标签
b的值为 2。1.1 和 2.9 都相距 0.9,那么应该选择哪一个?
标签: sas fuzzy-comparison