【发布时间】:2020-12-10 07:59:50
【问题描述】:
我想合并两个ID相同但总是出错的sas数据集。
我检查了两个数据集中的变量 baseid 都是字符,所以我尝试使用类似这样的相同代码来调整两个数据集的 id 格式
data a;
set a;
baseidtemp = put(baseid,12);
drop baseid;
rename baseidtemp = baseid;
run;
之后,我按 baseid 对两个数据集进行了排序。
但我不知道为什么当我使用 proc compare 来比较它们的 ID 时,即使它们的值都相同,所有的 obs 也不相等。
我是这样合并的
data A;
merge A (in = a) B;
by baseid;
if a;
run;
它们只是无法正确合并。
我对此很困惑,那么有人可以帮助我解决这个问题吗?
提前谢谢你!
【问题讨论】:
-
在问题中添加一些示例数据,如果可能的话,添加来自
Proc CONTENTS的输出 -
如果它们已经是字符,则无需使用 PUT() 函数。您需要检查导致值不同的前导空格或字符(如制表符)。