SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 993|回复: 3
打印 上一主题 下一主题

有没有懂sas宏的大虾~,请教一个问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2008-7-2 18:15:50 | 只看该作者

有没有懂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.
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2008-7-2 19:29:41 | 只看该作者

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 -->
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2008-7-2 20:20:21 | 只看该作者

Re: 有没有懂sas宏的大虾~,请教一个问题

xgghxkhuang,先谢谢你,我大概明白了。作者只给出了这两个宏的名称,内容没有给出来,文中给出了网址http://mayoresearch.mayo.edu/mayo/research/biostat/sasmacros.cfm,你可以看下,但是我在这也还是找不到这两个宏!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2008-7-9 21:41:08 | 只看该作者

Re: 有没有懂sas宏的大虾~,请教一个问题

文中只给出了宏的调用,没有给出宏的定义
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-4 21:57 , Processed in 0.067580 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表