如何在 sas 中执行内连接(带有示例)


您可以使用以下基本语法在 SAS 中对两个数据集执行内连接:

 proc sql ;
    create table final_table as
    select * from data1 as x join data2 as y
    on x.ID = y.ID;
quit ;

以下示例展示了如何在实践中使用此语法。

相关:如何在 SAS 中进行左连接

示例:SAS 中的内连接

假设我们在 SAS 中有以下两组数据:

 /*create datasets*/
data data1;
    input team $points;
    datalines ;
Mavs 99
Spurs 93
Rockets 88
Thunder 91
Warriors 104
Cavs 93
Nets 90
Hawks 91
;
run ;

data data2;
    input team $rebounds;
    datalines ;
Mavs 21
Spurs 18
Warriors 27
Hawks 29
Knicks 40
Raptors 30
;
run ;

/*view datasets*/
proc print data =data1;
proc print data =data2; 

请注意,两个数据集共享一个共同变量: team

我们将使用以下语法来执行内部联接并创建一个新数据集,该数据集仅包含团队变量出现在两个数据集中的行:

 /*perform inner join*/
proc sql ;
	create table final_table as
	select * from data1 as x join data2 as y
	on x.team = y.team;
quit ;

/*view results of inner join*/
proc print data =final_table; 

生成的数据集仅包含团队变量出现在两个数据集中的行。

如果您参考前两个数据集,您会发现两个数据集中都只出现了四支球队:小牛队、马刺队、勇士队和老鹰队。

由于我们选择在团队变量上连接两个数据集,因此这四个团队也出现在最终数据集中。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

如何标准化 SAS 中的数据
如何在SAS中替换字符串中的字符
SAS中如何用零替换缺失值
SAS中如何删除重复项

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注