全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1925 3
2012-12-24
悬赏 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;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-12-24 08:57:42
不懂,但帮你顶一下
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

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作筛选就好了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-12-25 00:32:18
ods ,别加 New 选项
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群