楼主: lihuixin
1968 3

[有偿编程] 用宏获得每次执行的pvalue [推广有奖]

  • 0关注
  • 0粉丝

已卖:1份资源

大专生

61%

还不是VIP/贵宾

-

威望
0
论坛币
625 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
671 点
帖子
69
精华
0
在线时间
35 小时
注册时间
2008-12-9
最后登录
2013-3-6

楼主
lihuixin 发表于 2012-12-24 08:29:54 |AI写论文
10论坛币
下边是我写的宏的一部分,就是有好多个变量依次执行PROC GLIMMIX,然后获得每次执行的pvalue,存在一个文件中。我可以用call symput 取出pvalue但是怎么把每次运行的pvalue放在一起?

%MACRO Bivariate(rhsvarlist =);
  %LET k=1;
  %LET rhs = %SCAN(&rhsvarlist, &k);
%DO %WHILE ("&rhs" NE "");
  
PROC GLIMMIX DATA = WORK.Fulldata2;
CLASS Traits;
MODEL rate = Traits &rhs /solution;
ODS OUTPUT ParameterEstimates=parms;
RUN;QUIT;

DATA WORK.parms;
  SET WORK.parms;
  IF Number = 8 THEN CALL SYMPUT("pvalue",ProbChi);
RUN;
......

%LET k = %EVAL(&k + 1);
%LET rhs = %SCAN(&rhsvarlist, &k);
   %END;
%MEND;

关键词:pvalue value alue PVA Estimates amp solution

沙发
oxygen1988 发表于 2012-12-24 08:57:42
不懂,但帮你顶一下

藤椅
playmore 发表于 2012-12-24 09:31:19
DATA WORK.parms;
  SET WORK.parms;
  IF Number = 8 THEN CALL SYMPUT("pvalue",ProbChi);
RUN;

上面这一段,改成

%if k EQ 1 %then %do;
data parms_final;
set parms;
run;
%end;
%else %do;
data parms_final;
set parsm_final parms;
run;
%end;

最后生成的parms_final含有所有循环得到的参数
你可以最后来一次Number=8作筛选就好了
playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

板凳
zkymath 在职认证  发表于 2012-12-25 00:32:18
ods ,别加 New 选项

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-3 05:47