首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存在的SAS数据合并

存在的SAS数据合并
EN

Stack Overflow用户
提问于 2015-03-26 08:05:30
回答 2查看 166关注 0票数 0

我是sas的新手,我有两个数据集如下,

代码语言:javascript
复制
data datasetA;
    input a $1;
    datalines;
1
2
3
4
5
6
7
;
run;

data datasetB;
    input a $1;
    datalines;
1
3
5
7
;
run;

如果A出现在B,那么我想要的输出应该是

代码语言:javascript
复制
1 Y
2 N
3 Y
4 N
5 Y
6 N
7 Y
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-26 08:45:24

至少可以通过两种方式实现这一目标:

  • merge通过data step
  • left joinproc sql

这个pdf比较sas中合并与sql的优缺点

由于rbet向您展示了如何使用merge步骤完成此操作,因此我将向您展示如何使用proc sql完成此操作。

代码语言:javascript
复制
proc sql;
  create table work.result as
    select t1.a, case when t2.a is not missing then 'Y' else 'N' end as exists
    from work.datasetA t1
     left join work.datasetB t2 on t1.a = t2.a order by t1.a;
票数 4
EN

Stack Overflow用户

发布于 2015-03-26 08:38:00

代码语言:javascript
复制
data _a;
format a 3.;
do i = 1 to 7;
a = i;
output;
end;
drop i;

data _b;
format b 3.;
do i = 1 to 7 by 2;
b = i;
output;
end;
drop i;
run;

data _c;
merge _a(in=_a) _b(in=_b rename=(b=a));
format St $2.;
if _a and _b then St = 'Y';
else St = 'N';
by a;
run;

我建议你到谷歌SAS mergeSAS proc sql join介绍基本概念。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29273568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档