在 SAS 中合并两个数据集。如何选择合并数据的变量?
Merge two datasets in SAS. How to choose the variables of the merged data?
我有两个数据集,我正在尝试合并它们,就像我在 SQL
.
上使用 lef join
方法一样。
我创建了这段代码:
Data final_dataset;
merge table_1 (in=a) table_2;
if a=1;
keep Var1 Var2 Var3 Var4 Var5;
run;
问题是在两个数据集中我都有同名的变量。例如,Var1
和 Var2
都在 table_1
和 table_2
中,但我希望合并后的数据只有变量 Var1
和 Var2
来自 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 语言,我想知道是否有一种方法可以用这种语言做我想做的事情。
通常要合并您需要 BY 变量。
如果您不想要来自其中一个数据集的变量,则只需使用 DROP= 或 KEEP= 数据集选项来消除它们。如果你想保留两者的变量但作为单独的变量,请使用 RENAME= 数据集选项。
data final_dataset;
merge table_1 (in=in1 keep=var1 var2)
table_2 (keep=var1 var3 var4 var5)
;
by var1;
if in1;
run;
我有两个数据集,我正在尝试合并它们,就像我在 SQL
.
lef join
方法一样。
我创建了这段代码:
Data final_dataset;
merge table_1 (in=a) table_2;
if a=1;
keep Var1 Var2 Var3 Var4 Var5;
run;
问题是在两个数据集中我都有同名的变量。例如,Var1
和 Var2
都在 table_1
和 table_2
中,但我希望合并后的数据只有变量 Var1
和 Var2
来自 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 语言,我想知道是否有一种方法可以用这种语言做我想做的事情。
通常要合并您需要 BY 变量。 如果您不想要来自其中一个数据集的变量,则只需使用 DROP= 或 KEEP= 数据集选项来消除它们。如果你想保留两者的变量但作为单独的变量,请使用 RENAME= 数据集选项。
data final_dataset;
merge table_1 (in=in1 keep=var1 var2)
table_2 (keep=var1 var3 var4 var5)
;
by var1;
if in1;
run;