楼主: l6397
1601 3

[问答] 求助:并接的问题? [推广有奖]

  • 0关注
  • 0粉丝

博士生

42%

还不是VIP/贵宾

-

威望
0
论坛币
120 个
通用积分
16.6418
学术水平
1 点
热心指数
6 点
信用等级
0 点
经验
3788 点
帖子
235
精华
0
在线时间
178 小时
注册时间
2007-3-28
最后登录
2023-5-13

楼主
l6397 发表于 2014-2-24 11:50:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求助大侠:并接的问题?
有两个数据集

名称

2月单价1

2月单价2

2月单价3

a

0.1

0.2

0.3

b

0.1

 

 

c

0.1

0.2

 


数据集2

名称

1月单价1

1月单价2

1月单价3

a

0.4

0.5

0.6

b

0.2

 

 

c

0.3

0.4

 


用SAS并接后得到:

名称

2月单价1

2月单价2

2月单价3

1月单价1

1月单价2

1月单价3

a

0.1

0.2

0.3

0.4

0.5

0.6

b

0.1

 

 

0.2

 

 

c

0.1

0.2

 

0.3

0.4

 


怎样得到下列格式:

a

0.1

0.2

0.3

0.4

0.5

0.6

b

0.1

0.2

 

 

 

 

c

0.1

0.2

0.3

0.4

 

 


也就是数据集1并接数据集2后,同一名称的单价是连贯的数据,删除中间空格。

谢谢各位!


二维码

扫码加我 拉你入群

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

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

关键词:数据集

沙发
yongyitian 发表于 2014-2-25 09:15:06
  1. data a;
  2.    infile datalines missover;
  3.    input name $ pa1 pa2 pa3;
  4. datalines;
  5. a 0.1 0.2 0.3
  6. b 0.1
  7. c 0.1 0.2
  8. ;
  9. data b;
  10.    infile datalines missover;
  11.    input name $ pb1 pb2 pb3;
  12. datalines;
  13. a 0.4 0.5 0.6
  14. b 0.2
  15. c 0.3 0.4
  16. ; run;

  17. data want;
  18.     length name $8. pb1-pb3 pa1-pa3 8.;
  19.     merge a b;
  20.     by name;
  21.     array num pb1-pb3 pa1-pa3;
  22.        do i = 1 to dim(num);
  23.           if missing(num[i]) then num[i]=9999;
  24.        end;
  25.     call sortn( of num[*]);
  26.        do i = 1 to dim(num);
  27.           if num[i] = 9999 then call missing(num[i]);
  28.        end;
  29.     drop i;
  30. run;
复制代码
已有 1 人评分学术水平 热心指数 收起 理由
唐宋元清 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

藤椅
wdxiaochun 发表于 2014-6-8 18:21:10
挺有技巧的。。。。

板凳
mingfeng07 学生认证  发表于 2014-6-10 18:52:06
  1. data a;
  2.    infile datalines missover;
  3.    input name $ pa1 pa2 pa3;
  4. datalines;
  5. a 0.1 0.2 0.3
  6. b 0.1
  7. c 0.1 0.2
  8. ;
  9. data b;
  10.    infile datalines missover;
  11.    input name $ pb1 pb2 pb3;
  12. datalines;
  13. a 0.4 0.5 0.6
  14. b 0.2
  15. c 0.3 0.4
  16. ; run;

  17. data want;
  18.     length name $8. pa1-pa3 pb1-pb3 8.;
  19.     merge a b;
  20.     by name;
  21.     array num pa1-pa3 pb1-pb3;
  22.        do i = 1 to dim(num);
  23.                 if num(i)=' ' then do;
  24.                      do j=i+1 to dim(num);
  25.                           if num(j) ne ' ' then do;
  26.                                          k=num(j);num(j)=num(i);num(i)=k;leave;
  27.                                         end;
  28.                     end;
  29.           end;
  30.         end;
  31.         drop i j k;
  32. run;
复制代码

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-5 04:54