如何在 sas 中执行一对多合并
您可以使用以下语法在 SAS 中执行一对多合并:
data final_data;
merge data_one data_many;
byID ;
run ;
此特定示例通过在名为ID 的变量上合并名为data_one和data_many 的数据集来创建一个名为Final_data的新数据集。
在data_one数据集中,每个唯一 ID 值仅出现一次。
在data_many数据集中,每个唯一 ID 值出现多次。
这称为一对多合并。
以下示例展示了如何在实践中使用此语法。
示例:SAS 中的一对多合并
假设我们有以下名为data_one的数据集,其中包含有关公司销售人员的信息:
/*create dataset*/
data data_one;
inputIDGender $;
datalines ;
1 Male
2 Male
3 Female
4 Male
5 Female
;
run ;
/*view dataset*/
proc print data = data_one;
请注意,每个唯一 ID 值在数据集中仅出现一次。
现在假设我们有另一个名为data_many的数据集,其中包含有关每个卖家在不同地点的销售额的信息:
/*create dataset*/
data data_many;
input Store ID $Sales;
datalines ;
1 to 22
1 B 25
1 C 20
2 to 14
2 B 23
3 to 10
4 to 15
4 B 29
5 to 16
5 C 22
;
run ;
/*view dataset*/
proc print data = data_many;
请注意,每个唯一 ID 值都会出现多次。
我们可以使用以下语法使用这些数据集执行一对多合并:
/*create new dataset using one-to-many merge*/
data final_data;
merge data_one data_many;
byID ;
run ;
/*view new dataset*/
proc print data =final_data;
一对多合并生成了一个新数据集,其中包含两个数据集的所有信息。
注意:您可以在此处找到 SAS merge语句的完整文档。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: