楼主: yddd726
3205 11

[问答] SAS数据处理问题!如何改变数据显示的格式 在线等 [推广有奖]

  • 1关注
  • 0粉丝

已卖:12份资源

本科生

60%

还不是VIP/贵宾

-

威望
0
论坛币
931 个
通用积分
0.0600
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
102 点
帖子
60
精华
0
在线时间
137 小时
注册时间
2012-8-20
最后登录
2019-9-19

受到警告 楼主
yddd726 发表于 2013-4-22 10:03:48 |AI写论文
提示: 受到警告  webgu 标题不合格 2013-4-22 14:06

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

将左侧的格式转换为右侧格式。
数据在下面附件中,因为没法上传sas7bdat后缀文件,所以改成xls
麻烦大神下载后改为sas7bdat后缀~~
Associations.xls (177 KB)

求老鸟们指导!
二维码

扫码加我 拉你入群

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

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

关键词:sas数据处理 数据处理问题 数据显示 数据处理 在线等 指导 在线 数据分析专题 数据处理 数据分析软件 数据分析报告 面板数据分析 excel数据分析 数据分析方法 项目数据分析

SAS.jpg (152.97 KB)

将左侧的数据转换为右侧格式

将左侧的数据转换为右侧格式

回帖推荐

zhou.wen 发表于8楼  查看完整内容

沙发
yddd726 发表于 2013-4-22 10:18:59
求大神帮助~~~

藤椅
yddd726 发表于 2013-4-22 10:59:26
help~  急需帮助!

板凳
zhou.wen 发表于 2013-4-22 11:25:27
右侧格式是什么意思?
Practice Is The Best Teacher!

报纸
yddd726 发表于 2013-4-22 12:14:51
zhou.wen 发表于 2013-4-22 11:25
右侧格式是什么意思?
就是图片中的左侧转为右侧那种

地板
zhou.wen 发表于 2013-4-22 13:15:45
你右侧的变量代表什么含义你要解释一下吧
是对左图的列求和么?
Practice Is The Best Teacher!

7
yddd726 发表于 2013-4-22 13:25:06
zhou.wen 发表于 2013-4-22 13:15
你右侧的变量代表什么含义你要解释一下吧
是对左图的列求和么?
是这样的。左侧的每一行代表一个消费者购买的书目,有则为1,无则为0
然后右侧的custid表示消费者的编号,即第一个消费者,第二个,第三个
itemid表示的是这个消费者买的书目的编号,第一本是1,第二本是2
item表示购买书目的名称

8
zhou.wen 发表于 2013-4-22 15:40:32
  1. data work.Associations;
  2. length Id $8;
  3. set work.Associations;
  4. Id=_n_;
  5. run;
  6. data work.summary(keep=CustId ItemId ItemName);
  7. set work.Associations;
  8. array item[*] _numeric_;
  9. do i=1 to dim(item);
  10. if item[i]=1 then do;
  11. CustId=Id;
  12. ItemId=i;
  13. ItemName=vname(item[i]);
  14. output;
  15. end;
  16. end;
  17. run;
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
yddd726 + 1 + 1 + 1 热心帮助其他会员

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

Practice Is The Best Teacher!

9
yddd726 发表于 2013-4-22 16:00:25
yddd726 发表于 2013-4-22 13:25
是这样的。左侧的每一行代表一个消费者购买的书目,有则为1,无则为0
然后右侧的custid表示消费者的编号 ...
谢谢你啦! 我也想的是数组,但具体不知道怎么写了
十分的感谢 学习了!

10
zhou.wen 发表于 2013-4-22 16:01:20
方法二:
  1. proc transpose data=work.Associations out=work.transpose;
  2. by Id;
  3. run;
  4. data work.filter(keep=Id _name_ rename=(Id=CustId _name_=ItemName));
  5. set work.transpose(where=(col1=1));
  6. attrib _all_ label='';
  7. run;
  8. proc contents data=work.Associations out=work.contents noprint;
  9. run;
  10. data work.itemid;
  11. length ItemName $9;
  12. set work.contents(keep=name rename=(name=ItemName));
  13. attrib _all_ label='';
  14. ItemId=_n_;
  15. run;
  16. data work.summary;
  17. length ItemName $9;
  18. if _n_=1 then do;
  19. declare hash h(dataset:'work.itemid');
  20. h.definekey('ItemName');
  21. h.definedata('ItemId');
  22. h.definedone();
  23. call missing(ItemName,ItemId);
  24. end;
  25. set work.filter;
  26. if h.find()=0 then output;
  27. run;
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
yddd726 + 1 + 1 + 1 观点有启发

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

Practice Is The Best Teacher!

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

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