楼主: edragon1983
375 3

[有偿编程] sas数据集转换(举例如下,实际数据集行数很多) [推广有奖]

  • 0关注
  • 0粉丝

博士生

45%

还不是VIP/贵宾

-

威望
0
论坛币
6344 个
学术水平
0 点
热心指数
3 点
信用等级
0 点
经验
4556 点
帖子
184
精华
0
在线时间
223 小时
注册时间
2007-8-29
最后登录
2019-3-5

edragon1983 发表于 2019-1-4 10:57:42 |显示全部楼层
100论坛币
idx
1a1
2
3
4b2
5
6
7b2
8
9yyy7
10
11
12
13ii100
14
15
变换成如下格式
ida1b2yyy7ii100
11000
20000
30000
40100
50000
60000
70100
80000
90010
100000
110000
120000
130001
140000
150000

最佳答案

lyfyb99 查看完整内容

data test; infile cards missover; input id x$; cards; 1 a1 2 3 4 b2 5 6 7 b2 8 9 yyy7 10 11 12 13 ii100 14 15 ; run; data test1; set test ; if x ne '' then aval=1; run; proc transpose data=test1 out=test2(drop=_name_); by id; id x; var aval; run; data test3; set test2; array a(*) _numeric_; do i=1 to dim(a); if a(i)=. then a(i)=0; ...

本帖被以下文库推荐

stata SPSS
lyfyb99 发表于 2019-1-4 10:57:43 |显示全部楼层

data test;
infile cards missover;
input id x$;
cards;
1 a1
2  
3  
4 b2
5  
6  
7 b2
8  
9 yyy7
10  
11  
12  
13 ii100
14  
15  
;
run;

data test1;
set test ;
if x ne '' then aval=1;
run;

proc transpose data=test1 out=test2(drop=_name_);
by id;
id x;
var aval;
run;

data test3;
set test2;
array a(*) _numeric_;
do i=1 to dim(a);
if a(i)=. then a(i)=0;
end;
drop  i;
run;
回复

使用道具 举报

艺璇大本营 发表于 2019-1-5 15:07:45 |显示全部楼层
data a;
infile cards missover;
input id x$;
if x="a1" then a1=1;else a1=0;
if x="b2" then b2=1;else b2=0;
if x="yyy7" then yyy7=1;else yyy7=0;
if x="ii100" then ii100=1;else ii100=0;
drop x;
cards;
1 a1
2  
3  
4 b2
5  
6  
7 b2
8  
9 yyy7
10  
11  
12  
13 ii100
14  
15  
;
run;
proc print data=a;
run;

结果:
--------------------------------------------------------------------------------
The SAS System


Obs id a1 b2 yyy7 ii100
1 1 1 0 0 0
2 2 0 0 0 0
3 3 0 0 0 0
4 4 0 1 0 0
5 5 0 0 0 0
6 6 0 0 0 0
7 7 0 1 0 0
8 8 0 0 0 0
9 9 0 0 1 0
10 10 0 0 0 0
11 11 0 0 0 0
12 12 0 0 0 0
13 13 0 0 0 1
14 14 0 0 0 0
15 15 0 0 0 0
回复

使用道具 举报

edragon1983 发表于 2019-1-10 15:04:40 |显示全部楼层
谢谢各位的帮助!
回复

使用道具 举报

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

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2019-3-20 07:56