经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
数据科学与人工智能
›
数据分析与数据科学
›
SAS专版
请教数据的转置问题
楼主
420948492
972
3
收藏
2013-04-03
假如我有一个数据集test,如下ID为顾客序列号,prod为顾客购买的产品,怎么才能转换成目标数据集的样子?
DATA TEST;
INPUT ID PROD$;
CARDS;
11 A
11 B
11 C
21 B
21 C
31 D
;
目标数据集:
ID A B C D
11 1 1 1 0
21 0 1 1 0
31 0 0 0 1
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
沙发
pobel
2013-4-3 09:13:25
没有想到更好的方法,楼主可以试试下面的代码:
DATA TEST;
INPUT ID PROD$;
CARDS;
11 A
11 B
11 C
21 B
21 C
31 D
;
proc sql;
create table tmp1 as
select distinct * from
(select distinct id from test)
,(select distinct prod from test);
quit;
data tmp2;
merge tmp1 test(in=a);
by id prod;
value=a;
run;
proc transpose data=tmp2 out=wanted(drop=_name_);
by id;
id prod;
var value;
run;
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
藤椅
pobel
2013-4-3 09:18:53
proc transpose data=test out=tmp1(drop=_name_);
by id;
id prod;
var id;
run;
data wanted;
set tmp1;
array tmp(*) a--d;
do i=1 to dim(tmp);
tmp(i)=^missing(tmp(i));
end;
drop i;
run;
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
板凳
420948492
2013-4-3 11:04:43
pobel 发表于 2013-4-3 09:13
没有想到更好的方法,楼主可以试试下面的代码:
DATA TEST;
这种方法很好,多谢多谢
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
相关推荐
中值替换问题
救急啊,谢谢各位
怎样纵向合并SAS数据
宋朝的日期咋读入?
SAS 求助(急)如何按列分别求和后,放到最后一列
SAS 用循环实现?
【每日一考】怎么编写一个宏,把一个变量的最大5个值和最小五个值列出来?
SAS中如何有条件的取出自己想要的某个变量的某些值?
有条件保留
统计每个个体出现3和4的次数
栏目导航
SAS专版
金融实务版
经管文库(原现金交易版)
经管高考
金融学(理论版)
市场营销
热门文章
Nature点赞!哈佛MIT最新作:AI科学家时代来 ...
CDA 认证考试大纲 2025 重磅更新:一二级考 ...
达富发投资关于中百集团行情数据操作分析与 ...
2025秋季大摩宏观团队闭门会议纪要
美国国家科学基金数据
建筑的想象之整理补充笔记
英文书籍
超越普里瓦洛夫无穷乘积与它对解析函数的应 ...
超越普里瓦洛夫数项级数卷
国家级都市圈谁在领跑:2025华高莱斯产城瞭 ...
推荐文章
10月重磅来袭|《打造Coze/Dify专属学术智能 ...
高校老师和学生都在偷偷上的智能体课,到底 ...
最快1年拿证,学费不足5W!热门美国人工智能 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群