SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 655|回复: 2
打印 上一主题 下一主题

各位大侠,能不能给解释一下这是什么意思,急用啊!

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2009-12-25 15:16:54 | 只看该作者

各位大侠,能不能给解释一下这是什么意思,急用啊!

%macro sort(data=_LAST_, by= );
  proc sort data=&data;
    by &by;
        run;
%mend sort;
%sort(data=expt1, by=entryname rep);

%macro mean(data=, by=, var=);
%sort(data=&data, by=&by);
  proc means data=&data;
    var &var;
     by &by;
OUTPUT OUT = summary
        N      = NUM
        MEAN   = AVESCORE
        STD=std error
   cv=cv ;
RUN;
%mend mean;

%mean(data=expt1, var=trait, by=entryname rep);
ods output tests3=test3  lsmeans=lsmu3 diffs=diff3;

proc mixed data=summary;
class rep entryname;
model AVESCORE=entryname/ddfm=kr;
random rep ;
lsmeans entryname/pdiff;
run;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2009-12-25 22:38:49 | 只看该作者

Re: 各位大侠,能不能给解释一下这是什么意思,急用啊!

把sort都做成了macro,可见这是模板程序吧。如此,理解不解其中的意思其实也没有多大关系了。
顺便唠叨一下。
听过Richard Cook讲的一堂课,他看到分析结果和他想象的不同,就从data入手一个一个寻找outlier,最后终于得出他认为是理想的分析
读过2008北美统计总统奖得主蔡天安的一篇统计理论兼分析,也是通过分析结果的合理性来反思(佐证)方法的正确性。
总而言之,data 之差千变万化,模子的作用就是无论来的是什么,我都把你给毁了。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2009-12-26 17:09:25 | 只看该作者

Re: 各位大侠,能不能给解释一下这是什么意思,急用啊!

粗略看过下,主要是将数据进行排序后用proc means求值,然后用统计方面的线性模型之类的求某个参数。由于本人统计水平有限,无法再深看下去了。至于这个宏的结果是什么,需要有比我高的统计知识才行。
不过这个源程序中,个人认为宏的设计和引用有些过于繁琐,一个普通的sort步都用宏包起来,并且将sort宏的两个参数同时又被作为mean宏的参数,只能说这几个宏只是为了省事零时写出来的,不用太在意他们的功能。
直接将这三个宏里的参数添进去之后,然后将宏取消掉,就是简单的三个proc步,proc sort+proc means +proc mixed。想必楼主的统计知识肯定比我高,取消宏之后,应该能看出来它的最终结果是什么了。

其实我的意思和jingju11差不多,闲着无事灌灌水,呵呵。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-6 09:45 , Processed in 0.067263 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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