SAS中文论坛

标题: 有没有懂sas宏的大虾~,请教一个问题 [打印本页]

作者: shiyiming    时间: 2008-7-2 18:15
标题: 有没有懂sas宏的大虾~,请教一个问题
要判断数据是否来自一个对称分布,查到一篇文章,里面介绍了一些方法,并且给出了这两个个sas宏,可是我不懂宏,请教各位大侠,这宏个能不能直接用,具体程序是什么呢?
SAS macros:
   1) %symm(ds=,var=);
ds=name of the dataset
var=variable to be checked for symmetry
   2) %symmchk(ds=,chkvar=);
ds=name of the dataset
chkvar=variable to be checked for symmetry
   The second macro is the extension of the first one. Both macros use simple SAS procedures such as PROC SORT or PROC UNIVARIATE,along with extensive iterative loops that are require for some of the methods for assessing symmetry discussed above.
作者: shiyiming    时间: 2008-7-2 19:29
标题: Re: 有没有懂sas宏的大虾~,请教一个问题
宏就是一个函数,相当于编程语言中的一个函数,只要编译好后调用就可以了。
data shiye;
input Year US Can Austr Japan Fran Germa Italy;

cards;
1959 5.5 5.6 2.1 2.3 1.6 2 4.8
1960 5.5 6.5 1.6 1.7 1.5 1.1 3.7
1961 6.7 6.7 3 1.5 1.2 0.6 3.2
1962 5.5 5.5 2.9 1.3 1.4 0.6 2.8
1963 5.7 5.2 2.3 1.3 1.6 0.5 2.4
1964 5.2 4.4 1.4 1.2 1.2 0.4 2.7
1965 4.5 3.6 1.3 1.2 1.6 0.3 3.5
1966 3.8 3.4 1.6 1.4 1.6 0.3 3.7
1967 3.8 3.8 1.9 1.3 2.1 1.3 3.4
1968 3.6 4.5 1.8 1.2 2.7 1.1 3.5
1969 3.5 4.4 1.8 1.1 2.3 0.6 3.5
1970 4.9 5.7 1.6 1.2 2.5 0.5 3.2
1971 5.9 6.2 1.9 1.3 2.8 0.6 3.3
1972 5.6 6.2 2.6 1.4 2.9 0.7 3.8
1973 4.9 5.5 2.3 1.3 2.8 0.7 3.7
1974 5.6 5.3 2.7 1.4 2.9 1.6 3.1
1975 8.5 6.9 4.9 1.9 4.2 3.4 3.4
1976 7.7 7.2 4.8 2 4.6 3.4 3.9
1977 7.1 8.1 5.6 2 5.2 3.4 4.1
1978 6.1 8.4 6.3 2.3 5.4 3.3 4.1
1979 5.8 7.5 6.3 2.1 6.1 2.9 4.4
1980 7.1 7.5 6.1 2 6.5 2.8 4.4
1981 7.6 7.6 5.8 2.2 7.6 4 4.9
1982 9.7 11 7.2 2.4 8.3 5.6 5.4
1983 9.6 11.9 10 2.7 8.6 6.9 5.9
1984 7.5 11.3 9 2.8 10 7.1 5.9
1985 7.2 10.5 8.3 2.6 10.5 7.2 6
1986 7 9.6 8.1 2.8 10.6 6.6 7.5
1987 6.2 8.9 8.1 2.9 10.8 6.3 7.9
1988 5.5 7.8 7.2 2.5 10.3 6.3 7.9
1989 5.3 7.5 6.2 2.3 9.6 5.7 7.8
1990 5.6 8.1 6.9 2.1 9.1 5 7
1991 6.8 10.4 9.6 2.1 9.6 4.3 6.9
1992 7.5 11.3 10.8 2.2 10.4 4.6 7.3
1993 6.9 11.2 10.9 2.5 11.8 5.7 10.2
1994 6.1 10.4 9.7 2.9 12.3 6.5 11.3
1995 5.6 9.5 8.5 3.2 11.8 6.5 12
1996 5.4 9.7 8.6 3.4 12.5 7.2 12.1
1997 4.9 9.2 8.6 3.4 12.4 7.8 12.3
1998 4.5 8.3 8 4.1 11.8 7.5 12.3
run;
将你的宏复制黏贴编译。
就是
%macro symm(ds=a,var=US);

宏的内容
%mend symm;

%symm(ds=shiye,var=US);ds就是数据集合,var就是检测是否对称分部的那个变量。想左边那样调用就可以了。
当然要先将那段宏代码编译一下,否者是不可能运行成功的。能不能将这两个宏贴下。我好分享一下。
<!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->
作者: shiyiming    时间: 2008-7-2 20:20
标题: Re: 有没有懂sas宏的大虾~,请教一个问题
xgghxkhuang,先谢谢你,我大概明白了。作者只给出了这两个宏的名称,内容没有给出来,文中给出了网址http://mayoresearch.mayo.edu/mayo/research/biostat/sasmacros.cfm,你可以看下,但是我在这也还是找不到这两个宏!
作者: shiyiming    时间: 2008-7-9 21:41
标题: Re: 有没有懂sas宏的大虾~,请教一个问题
文中只给出了宏的调用,没有给出宏的定义




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