楼主: dxystata
812 5

[问答] 如何实现 [推广有奖]

版主

大师

34%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
182633 个
通用积分
15205.6089
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
291306 点
帖子
5378
精华
1
在线时间
13479 小时
注册时间
2006-6-21
最后登录
2024-4-28

初级学术勋章 初级热心勋章 中级热心勋章 初级信用勋章

15论坛币
  1. data aaa;
  2. input x$;
  3. cards;
  4. c
  5. a
  6. b
  7. ;
  8. run;


  9. data bbb;
  10. input y$;
  11. cards;
  12. d
  13. c
  14. b
  15. a
  16. ;
  17. run;
复制代码
从bbb数据集变量y的取值去除和aaa数据集变量x相同的取值。然后再拼接。
希望得到的数据为:
x y
c d
a d
b d



最佳答案

whymath 查看完整内容

proc sql noprint; create table ccc as select * from aaa, ( select * from bbb except select * from aaa) ; quit;
关键词:如何实现 Input cards 数据集变量 card
沙发
whymath 发表于 2021-4-2 09:19:07 |只看作者 |坛友微信交流群
proc sql noprint;
  create table ccc as select *
  from aaa, (
    select * from bbb
    except
    select * from aaa)
  ;
quit;
已有 2 人评分经验 热心指数 收起 理由
eijuhz + 20 精彩帖子
dxystata + 100 + 1 热心帮助其他会员

总评分: 经验 + 120  热心指数 + 1   查看全部评分

使用道具

proc sort data=work.aaa;by x;run;
proc sort data=work.bbb;by y;run;
data ccc;
        merge aaa(in=left rename=(x=y)) bbb(in=right );
        by y ;
        if not left and right;
run;

proc sql ;
        create table work.want as select a.*,c.* from work.aaa a,work.ccc c;
quit;
已有 1 人评分经验 热心指数 收起 理由
dxystata + 100 + 1 热心帮助其他会员

总评分: 经验 + 100  热心指数 + 1   查看全部评分

使用道具

板凳
dxystata 发表于 2021-4-7 09:18:27 |只看作者 |坛友微信交流群
缘oO来如此0o 发表于 2021-4-2 22:31
proc sort data=work.aaa;by x;run;
proc sort data=work.bbb;by y;run;
data ccc;
最后的数据集x的顺序变了。谢谢!

使用道具

报纸
dxystata 发表于 2021-4-7 09:18:59 |只看作者 |坛友微信交流群
不知道不用sql,能否用data步简单实现。

使用道具

地板
whymath 发表于 2021-4-11 18:49:16 |只看作者 |坛友微信交流群
dxystata 发表于 2021-4-7 09:18
不知道不用sql,能否用data步简单实现。
我试了试,不能“简单”实现,如您有办法,请分享来看看。
主要的困难在于获取数据集aaa和bbb的差,完全用data步比较难想出简单的方法。
仅为拓宽思路,下例供参考:
  1. data ccc;
  2.   set aaa bbb(rename=y=x);
  3. run;

  4. proc sort out = ccc nouniquekey uniqueout = ddd;
  5.   by x;
  6. run;
复制代码
上面的程序给出了获取两个集合(数据集)的差的另一种方法。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 22:08