楼主: sophiesdaisy
1097 4

[原创博文] 有程序,有预期,求帮助! [推广有奖]

  • 3关注
  • 1粉丝

已卖:509份资源

讲师

41%

还不是VIP/贵宾

-

威望
0
论坛币
4241 个
通用积分
11.1793
学术水平
5 点
热心指数
6 点
信用等级
3 点
经验
11216 点
帖子
423
精华
0
在线时间
456 小时
注册时间
2008-3-4
最后登录
2024-8-21

楼主
sophiesdaisy 发表于 2012-2-20 14:22:07 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
  1. libname fund  "F:\SAS\20120217";
  2. data a;
  3. input _col1  _col2 _col3  _col4 _col5;
  4. cards;
  5.      1  234 45  34   535
  6.      3  4    323 234  33
  7.   2  344 32   234 23
  8. ;
  9. run;
  10. data b;
  11. input _col1  _col2 _col3  _col4 ;
  12. cards;
  13.       1  3 4  5
  14.    2 555 555  555
  15.       3  5 6  7
  16.    ;
  17. run;
  18. data c;
  19. merge  a b ;
  20. by _col1;
  21. run;
  22. proc print;
  23. run;


复制代码
程序如上,结果如下:
                                     Obs    _col1    _col2    _col3    _col4    _col5

                                          1       1         3        4        5
                                          2       2       555      555      555
                                          3       3         5        6        7


我的目的是想得到

                                       Obs    _col1    _col2    _col3    _col4    _col5   _col6    _col7    _col8
                                        1        1          234      45         34         535     3              4          5
                                        2        2           344       32        234       23      555      555       555
                                        3        3           4          323        234       33      5            6          7


求助 求助!~
二维码

扫码加我 拉你入群

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

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

关键词:求帮助 libname cards Input Merge 程序

沙发
sophiesdaisy 发表于 2012-2-20 14:42:24
原来没有复制上去,修改过了,继续求帮助!

藤椅
可~乐 发表于 2012-2-20 15:04:30
  1. /*libname fund  "F:\SAS\20120217";*/
  2. data a;
  3. input _col1  _col2 _col3  _col4 _col5;
  4. cards;
  5. 1 234 45 34 535
  6. 3 4 323 234 33
  7. 2 344 32 234 23
  8. ;
  9. run;
  10. data b;
  11. input _col1  _col2 _col3  _col4 ;
  12. cards;
  13. 1 3 4 5
  14. 2 555 555 555
  15. 3 5 6 7
  16. ;
  17. run;

  18. proc sort data=a;
  19.         by _col1;
  20. run;

  21. data c;
  22. merge  a b(rename=(_col2=_col6 _col3=_col7  _col4=_col8)) ;
  23. by _col1;
  24. run;
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
sophiesdaisy + 1 + 1 + 1 嗯 没错··~~ 灰常感谢!

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

板凳
sunset1986 发表于 2012-2-21 15:03:49
19.proc sort data=a;

20.        by _col1;

21.run;

第一:楼主需要通过以上程序进行排序,不做sorting的话,merge的时候会出问题

23.data c;

24.merge  a b(rename=(_col2=_col6 _col3=_col7  _col4=_col8)) ;

25.by _col1;

26.run;

第二,以上程序,楼主因为在数据集a和b中都出现了col2,col3,col4,因此作merge的时候,不出现楼主想要看到得col6, col7, col8,如果想要把b中的col2-col4也加入数据及c中,那么必须变更变量名,那么上面的code就是帮楼主变更b数据集中的变量名
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
sophiesdaisy + 1 + 1 + 1 分析的有道理

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

An honest tale speeds best being plainly told.
Cheers!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 22:50