楼主: dxystata
1463 3

[原创博文] 如何将数据集aaa转换成数据集bbb [推广有奖]

版主

已卖:302份资源

大师

37%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
183395 个
通用积分
15333.1475
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
298627 点
帖子
5586
精华
1
在线时间
13632 小时
注册时间
2006-6-21
最后登录
2025-12-22

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

楼主
dxystata 发表于 2012-9-16 18:17:28 |AI写论文
20论坛币
如何将数据集aaa转换成数据集bbb ,谢谢!
data.rar (1.35 KB) 本附件包括:
  • bbb.sas7bdat
  • aaa.sas7bdat

最佳答案

webgu 查看完整内容

没细想,应该还有更好的方法。
关键词:数据集 如何

沙发
webgu 发表于 2012-9-16 18:17:29
  1. libname tt 'D:\tst';

  2. proc sort data=tt.aaa;
  3.   by var1;
  4. run;

  5. options mprint symbolgen;

  6. %macro trans(i);   
  7.   %do j=2 %to  &i;
  8.     proc transpose data=tt.aaa out=tt.var&j  (drop=_name_)  prefix=var&j._;
  9.     var var&j;
  10.         by var1;
  11.   run;
  12. %end;
  13. %mend trans;

  14. %trans(5);

  15. %macro varlist;
  16.    %do  i=1 %to 3;
  17.    %do j=2 %to 5;
  18.    var&j._&i
  19.    %end;
  20.    %end;
  21. %mend varlist;

  22. data tt.bb;
  23.   retain var1 %varlist;
  24.   merge  tt.var2  tt.var3  tt.var4 tt.var5;
  25.   by var1;
  26. run;
复制代码
没细想,应该还有更好的方法。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

藤椅
pobel 在职认证  发表于 2012-9-16 18:36:56
proc transpose data=aaa out=aaa1;
    by var1;
        var var2-var5;
run;

proc transpose data=aaa1(rename=(_name_=name)) out=aaa2;
    by var1 name;
        var col:;
run;

data aaa3;
    set aaa2;
        by var1 name;
        if first.name then i=0;
        else i+1;
        if not first.name then name=catx("_",name,put(i,z2.));
        if ^missing(col1);
run;
   
proc transpose data=aaa3 out=bbb;
     by var1;
         var col1;
         id name;
run;
和谐拯救危机

板凳
xudingjian0910 发表于 2012-9-17 09:59:37
要别人回答还要收币,你都是牛的了

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

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