SAS中文论坛
标题:
求助
[打印本页]
作者:
shiyiming
时间:
2006-5-18 19:38
标题:
求助
我编了一个计算两两观测之间欧氏距离的宏程序,代码如下:
%macro distance(mydata);
data distance_matrix(type=distance);
array dj(*) dj1-dj26;
retain dj1-dj26;
do row= 1 to 26;
set mydata point=row;
array varb(*) x1-x4;
array save(*) save1-save4;
do g=1 to 4;
save(g)=varb(g);
end;
do col=1 to row;
set mydata point=col;
num=0;
den=0;
do g=1 to 4;
num=num+(varb(g)-save(g))**2;
end;
dj(col)=sqrt(num);
end;
output;
end;
stop;
keep dj1-dj26;
run;
%mend distance;
我想改造这个宏程序,宏参数是一个数据集名称,希望宏程序里的数组根据数据集观测个数来定义,有几个问题未解决:(1)如何检测数据集mydata的观测个数?简记为n;(2)如何根据n定义数组dj的大小?(3)数组变量名dj1-dj17是否能由变量产生并在相应语句处调用?谁有更好的SAS方法?请高手不吝赐教!
作者:
shiyiming
时间:
2006-5-24 17:15
标题:
hui
这几个问题在sasor.com论坛上去找,这些问题很多高手如winslow,ahuige等等发过这方面的帖子,你可以去查看.
欢迎光临 SAS中文论坛 (http://mysas.net/forum/)
Powered by Discuz! X3.2