全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3374 14
2010-07-16
如下的数据:

NAME TYPE
A    1
A    1
A    2
B    1
C    1
C    3
C    2

请问我如何可以得到这个DATA SET呢?
NAME TYPE  TYPEALL
A    1     112
A    1     112
A    2     112
B    1     1
C    1     132
C    3     132
C    2     132

就是想要多一个变量,这个变量是把同样NAME的人的TYPE都连接到一起。

觉得应该用RETAIN, FIRST.NAME来做,可是能力有限,做不出来。。。

请教大家
二维码

扫码加我 拉你入群

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

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

全部回复
2010-7-16 23:34:00
data crackman;
input NAME $ TYPE@;
datalines;
A    1
A    1
A    2
B    1
C    1
C    3
C    2
;
run;
data test(drop=s);
do until(last.name);
set test;
by name;
  length newstring $2000;
retain newstring;
newstring = COMPRESS(newstring)||COMPRESS(TYPE);
if last.name then s=newstring;
end;
do until(last.name);
set test;
by name;
newstring=s;
output;
end;
run;
二维码

扫码加我 拉你入群

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

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

2010-7-16 23:37:55
crackman 发表于 2010-7-16 23:34
data crackman;
input NAME $ TYPE@;
obs=_n_;
datalines;
A    1
A    1
A    2
B    1
C    1
C    3
C    2
;
run;
data crackman;
set crackman;
do ;
if trim(name)="A" then TYPEALL=112;
else if trim(name)="B" then TYPEALL=1;
else if trim(name)="C" then TYPEALL=132;
end;
run;
这段程序也太离奇了吧?!
二维码

扫码加我 拉你入群

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

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

2010-7-16 23:50:39
我也感觉有点离奇
二维码

扫码加我 拉你入群

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

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

2010-7-16 23:51:28
根本不需要DO END
二维码

扫码加我 拉你入群

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

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

2010-7-16 23:52:35
......but i have thousands of names instead of just a, b,c and more than just 1,2,3 types......

but thank you all the same!
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群