SAS中文论坛
标题:
请教SAS数据集排列问题
[打印本页]
作者:
shiyiming
时间:
2009-5-1 22:35
标题:
请教SAS数据集排列问题
例如,某sas结果输出到数据集a中的排列方式如下
i/j 1 2 3
1 - -0.78 0.35
2 -0.78 -- 0.17
3 0.35 0.17 --
如果我想把a 的数据新排列到b 格式做如下转变
name stat
1:2 -0.78
1:3 0.35
2:3 0.17
请问应该怎么排,用什么样的语句能将数据集a 的格式转化为数据集b的格式,在些谢过了!
作者:
shiyiming
时间:
2009-5-2 20:37
标题:
Re: 请教SAS数据集排列问题
使用array的方法将其输出即可~~
作者:
shiyiming
时间:
2009-5-5 16:41
标题:
Re: 请教SAS数据集排列问题
能不能进一步指点?帮忙写个数组语句吧,我在SAS中也做了很多的尝试,比如
data c;set a;
array myarray(3,3) i1j1 i1j2 i1j3 i2j1 i2j2 i2j3 i3j1 i3j2 i3j3;
ab=myarray(1,2);ac=myarray(1,3);bc=myarray(2,3);
run;
结果运行后数据库新建的字段是空的。
我也尝试了以下:
data c;set a;
array myarray(9) i1j1 i1j2 i1j3 i2j1 i2j2 i2j3 i3j1 i3j2 i3j3;
ab=myarray(1,2);ac=myarray(1,3);bc=myarray(2,3);
run;
结果还是空的,请高手指点!!!
作者:
shiyiming
时间:
2009-5-5 21:25
标题:
Re: 请教SAS数据集排列问题
[code:3puu1i2m]
data a;
input j1 j2 j3;
cards;
. -0.78 0.35
-0.78 . 0.17
0.35 0.17 .
;
run;
data b;
array A {3} j1 j2 j3;
do i=1 to 3;
set a point=i;
do j=1 to 3;
if i<j then do;
name=compress(i||':'||j);
stat=a{j};
output;
end;
end;
end;
keep stat name;
stop;
run;
[/code:3puu1i2m]
作者:
shiyiming
时间:
2009-5-6 11:14
标题:
Re: 请教SAS数据集排列问题
高手就是高手啊!!真是太感谢您了!! <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D --> 已经搞定了!
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2