我正在从事从SAS到python的迁移工作。有人能给我解释一下这是什么类型的连接吗,或者更具体地说,如果a=b在这里做什么。
data temp_1;
merge data_1(in=a)
data_2(in=b);
by &by_var.;
if a = b;
sum_val = sum(of val_1, val_2);
run;发布于 2020-08-04 21:17:19
in=数据集选项指定一个变量,如果数据集对指定的by变量的合并有贡献,则该变量为1,否则为0。
其中一个数据集必须对合并做出贡献,即。在发布的代码中,a和b不能都为零。因此,在这种情况下,if a = b;与if a=1 and b=1;是相同的。
为了更好地理解merge/in= data set选项,请运行以下代码。我创建_a和_b变量只是为了演示,因为a和b是自动删除的。
data one;
input x y;
datalines;
1 1
1 2
2 3
2 4
3 5
3 6
;
data two;
input x;
datalines;
1
3
;
data want;
merge one(in=a)
two(in=b);
by x;
_a = a;
_b = b;
*if a = b;
run;https://stackoverflow.com/questions/63247392
复制相似问题