【问题标题】:Merge two datasets in SAS. How to choose the variables of the merged data?在 SAS 中合并两个数据集。如何选择合并数据的变量?
【发布时间】:2016-07-13 12:13:47
【问题描述】:

我有两个数据集,我正在尝试合并它们,就像我在 SQL 上使用 lef join 方法一样。

我已经创建了这段代码:

Data final_dataset;
merge table_1 (in=a) table_2; 
if a=1;
keep Var1 Var2 Var3 Var4 Var5;
run; 

问题是在两个数据集中我都有同名的变量。例如,Var1Var2 都在 table_1table_2 中,但我希望合并的数据只有变量 Var1Var2 来自 table_1。我该怎么做?

如果是proc sql,代码会是这样的:

proc sql;
create table final_dataset
as select 
A.Var1 A.Var2 B.Var3 B.Var4 B.Var5
from table_1 as A left join table_2 as B
on A.Var1 = B.Var1;

但我正在努力学习 SAS 语言,我想知道是否有办法用这种语言做我想做的事情。

【问题讨论】:

    标签: merge sas left-join


    【解决方案1】:

    通常要合并您需要 BY 变量。 如果您不想要来自其中一个数据集的变量,那么只需使用 DROP= 或 KEEP= 数据集选项来消除它们。如果您想保留两者中的变量但作为单独的变量,请使用 RENAME= dataset 选项。

    data final_dataset;
       merge table_1 (in=in1 keep=var1 var2)
             table_2 (keep=var1 var3 var4 var5)
       ;
       by var1;
       if in1;
    run;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-27
      • 2020-12-10
      • 2018-09-23
      • 1970-01-01
      • 2016-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多