标题: 如何整理?谢谢! [打印本页] 作者: shiyiming 时间: 2011-7-3 14:11 标题: 如何整理?谢谢! data aaa;
input name$ value@@;
cards;
RBC 5
RBC 4
RBC 6
HB 110
HB 100
HB 90
ALT 60
ALT 40
run;
希望得到的数据:
name value
RBC 5
空 4
空 6
HB 110
空 100
空 90
ALT 60
空 40
要求数据的顺序不变,谢谢!作者: shiyiming 时间: 2011-7-3 14:15 标题: Re: 如何整理?谢谢! 空表示缺失作者: shiyiming 时间: 2011-7-3 23:07 标题: Re: 如何整理?谢谢! [code:1bjedzg5]
data aaa;
input name$ value@@;
cards;
RBC 5
RBC 4
RBC 6
HB 110
HB 100
HB 90
ALT 60
ALT 40
run;
/*方法一*/
data a(drop=flag);
set aaa;
flag=lag(name);
if name=flag then name='';
run;
/*方法二*/
data b(drop=flag);
length name $8;
if _n_=1 then do;
declare hash h();
h.definekey('name');
h.definedata('name');
h.definedone();
end;
set aaa(keep=name);
if h.find()^=0 then h.add();
else flag=1;
set aaa;
if h.find()=0 and flag=1 then do;
name='';
end;
output;
run;
[/code:1bjedzg5]作者: shiyiming 时间: 2011-7-4 08:58 标题: Re: 如何整理?谢谢! [code:141goc2v]data want;
set aaa;
by name notsorted;
if first.name then name=name;
else name=' ';
run;[/code:141goc2v]作者: shiyiming 时间: 2011-7-4 21:19 标题: Re: 如何整理?谢谢! [quote:1inolrba]由 gpcy » 2011-7月-04 08:58
data want;
set aaa;
by name notsorted;
if first.name then name=name;
else name=' ';
run;
[/quote:1inolrba]作者: shiyiming 时间: 2011-7-8 17:46 标题: Re: 如何整理?谢谢! 学习了,高手很多啊,佩服! 谢谢!作者: shiyiming 时间: 2011-7-9 12:11 标题: Re: 如何整理?谢谢! [quote="gpcy":140dde9m][code:140dde9m]data want;
set aaa;
by name notsorted;
if first.name then name=name;
else name=' ';
run;[/code:140dde9m][/quote:140dde9m]
一级会员的程序写得也这么的好啊。
[code:140dde9m]data want;
set aaa;
by name notsorted;
if not first.name then name=' ';
run;[/code:140dde9m]作者: shiyiming 时间: 2011-7-27 09:21 标题: Re: 如何整理?谢谢! [quote:2hzgpt93]data want;
set aaa;
by name notsorted;
if not first.name then name=' ';
run;[/quote:2hzgpt93]
学习了。。