SAS中文论坛

标题: 求助:有关观测值的操作 [打印本页]

作者: shiyiming    时间: 2011-4-13 12:57
标题: 求助:有关观测值的操作
有个数据集,数据是这样的:
no   a    b   c   d
1     1    .    .   .   
1     .    1   .    .
1     .    .    1   .
1     .    .    .    1
2     1    .    .   .   
2     .    1   .    .
2     .    .    1   .
2     .    .    .    1
怎样把数据变成:
no   a    b   c    d
1     1    1   1   1
2     1    1    1  1



谢谢。
作者: shiyiming    时间: 2011-4-13 13:57
标题: Re: 求助:有关观测值的操作
[code:3quoball]data a;
input no a b c d;
cards;
1 1 . . .
1 . 1 . .
1 . . 1 .
1 . . . 1
2 1 . . .
2 . 1 . .
2 . . 1 .
2 . . . 1
;
data b(drop=i);
set a;
by no notsorted;
array aa(*)a b c d;
array bb(4) _temporary_;
do i=1 to dim(aa);
        retain bb;
        if aa(i)^=. then bb(i)=aa(i);
        aa(i)=bb(i);
end;
if last.no then output;
run;[/code:3quoball]
作者: shiyiming    时间: 2011-4-13 21:27
标题: Re: 求助:有关观测值的操作
proc sql;
        create table want as
        select no, max(a) as a, max(b) as b, max(c) as c
        from have
        group by no
;quit;
作者: shiyiming    时间: 2011-4-13 22:56
标题: Re: 求助:有关观测值的操作
data test;
input no a b c d;
datalines;
1 1 . . .
1 . 1 . .
1 . . 1 .
1 . . . 1
2 1 . . .
2 . 1 . .
2 . . 1 .
2 . . . 1
;
run;

proc means data=test noprint nway;
     class no;
         var a--d;
         output  out=testx(where=(_STAT_="MEAN") keep=no _STAT_ a b c d);
run;
作者: shiyiming    时间: 2011-4-14 09:07
标题: Re: 求助:有关观测值的操作
oloolo,好像未名上有个类似的问题嘛。
作者: shiyiming    时间: 2011-4-14 10:45
标题: Re: 求助:有关观测值的操作
十分感谢各位。。 <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2