楼主: 徐金池
7084 12

sas数据集的纵向合并,重复项如何自动剔除 [推广有奖]

  • 1关注
  • 2粉丝

硕士生

78%

还不是VIP/贵宾

-

威望
0
论坛币
37 个
通用积分
1.0008
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
21080 点
帖子
121
精华
0
在线时间
238 小时
注册时间
2011-3-24
最后登录
2020-7-19

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
data m;
input x$2. y;
cards;
a 1
b 2
c 3
;
run;
data n;
input x$2. y;
cards;
c 3
d 4
e 5
;
run;
如何使两个数据集合并后变成
a 1b 2c 3d 4e 5;

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:sas数据集 数据集 Input cards Data 如何

沙发
pobel 在职认证  发表于 2013-8-22 15:26:07 |只看作者 |坛友微信交流群

data wanted;
   set m n;
   by x y;
   if first.x and first.y;
run;
和谐拯救危机

使用道具

藤椅
徐金池 发表于 2013-8-22 15:46:26 |只看作者 |坛友微信交流群
谢谢你

使用道具

板凳
ljh_9802 发表于 2013-8-22 15:49:30 |只看作者 |坛友微信交流群
data mn ;
   set m n ;
run ;

proc sort data=mn nodupkey ;
   by x ;
run ;

使用道具

报纸
徐金池 发表于 2013-8-22 16:17:05 |只看作者 |坛友微信交流群
ljh_9802 发表于 2013-8-22 15:49
data mn ;
   set m n ;
run ;
谢谢你,你用的方法我没有见过,但是针对这个问题真的挺好用,但是在一个大型数据集中,如果有两个数据的偶然相等也会因此删除,不过仍然感谢你的帮助
data m;
input z$2. x$2. y;
cards;
j a 1
j b 2
j c 3
;
run;
data n;
input z$2. x$2. y;
cards;
i c 3
i d 4
i e 5
;
data mn ;
   set m n ;
run ;
proc sort data=mn nodupkey ;
   by x ;
run ;

使用道具

地板
bobguy 发表于 2013-8-24 05:49:47 |只看作者 |坛友微信交流群
There are several ways,

set; update; merge; with by statement will do the job.

使用道具

7
徐金池 发表于 2013-8-26 09:44:50 |只看作者 |坛友微信交流群
ljh_9802 发表于 2013-8-22 15:49
data mn ;
   set m n ;
run ;
大神,你好,在by语句中加入其它备选项可以应用,我一开始的回复让您见笑了

使用道具

8
scarfacetony 发表于 2013-8-26 11:52:02 |只看作者 |坛友微信交流群
  1. data m;
  2. input x$2. y;
  3. cards;
  4. a 1
  5. b 2
  6. c 3
  7. ;
  8. run;
  9. data n;
  10. input x$2. y;
  11. cards;
  12. c 3
  13. d 4
  14. e 5
  15. ;
  16. run;

  17. data mn;
  18.         set m n;
  19. run;

  20. proc sort data=mn nodupkey; by x y; run;

  21. data mn2;
  22.         set mn;
  23.         retain rst;
  24.         if _n_=1 then rst=trim(x)||' '||strip(y);
  25.                 else rst=trim(rst)||trim(x)||' '||strip(y);
  26. run;
复制代码
不是很明白你的意思……
看了这个视频,我于是有了进股市的信心!
https://bbs.pinggu.org/thread-2787427-1-1.html

使用道具

9
henryyhl 发表于 2013-8-26 16:16:14 |只看作者 |坛友微信交流群
data m;
input x$2. y;
cards;
a 1
b 2
c 3
;
run;
data n;
input x$2. y;
cards;
c 3
d 4
e 5
;
run;
data new;
set m n;run;
proc sort nodup data=new;
by x;  
run;
proc sql;
create table median        as
select count(*) into: count
from new;
quit;
data last(drop=x y);
array aa {&count} $;
array bb {&count};
do i=1 to &count;
set new point=i;
aa(i)=x;
bb(i)=y;
end;
output;
stop;
run;
It's not going to be easy, but it is going to be worth it.

使用道具

10
caicaierfeng 发表于 2013-8-30 16:34:12 |只看作者 |坛友微信交流群
徐金池 发表于 2013-8-22 16:17
谢谢你,你用的方法我没有见过,但是针对这个问题真的挺好用,但是在一个大型数据集中,如果有两个数据的 ...
不是很明白。。。

使用道具

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

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

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

GMT+8, 2024-4-24 20:15