标题: 根据要求对变量赋值 [打印本页] 作者: shiyiming 时间: 2011-6-30 10:41 标题: 根据要求对变量赋值 现有数据集X,中有两个变量 M N,形式如下:
M N
1 A
1
1
2
2 B
2
3
3
3 C
现要求当M值相同时,N的值就都附上已存在的那个值,即:
M N
1 A
1 A
1 A
2 B
2 B
2 B
3 C
3 C
3 C
请教各位大侠应该如何编程?作者: shiyiming 时间: 2011-6-30 15:38 标题: Re: 根据要求对变量赋值 [code:3akik8dk]data a;
input m n $;
cards;
1 A
1 .
1 .
2 .
2 B
2 .
3 .
3 .
3 C
;
run;
/*method I*/
proc sort data=a out=b;
by m descending n;
run;
data b2(drop=n rename=(nn=n));
retain m nn;
set b;
by m descending n;
if first.m then nn=n;
run;
/*method II*/
proc sql;
create table b3(drop=nn) as
select *,max(nn) as n
from a(rename=(n=nn))
group by m;
run;[/code:3akik8dk]