但是这样运行出来的结果在log窗口显示为k=200 maxRsquare=est200_RSQ_
这是怎么一回事呢?作者: shiyiming 时间: 2006-6-20 21:23 标题: re In %if est&i._RSQ_>&max %then 中 est&i._RSQ_ is not 变量, is a string.
if est&i._RSQ_ is 变量, it should be put in IF....THEN DO...END block (not %if....%then.) to another data statement.作者: shiyiming 时间: 2006-6-23 11:08 标题: re 我按你说的把程序修改了下,但结果还是不行,不知道是怎么回事?麻烦你能说的清楚些,多谢了!
程序如下:
%macro ToRegFirstI(i);
data toReg&i;
set baby.alll2003(obs=&i);
keep lr lu;
run;
proc reg data=toReg&i outest=est&i;
model lr=lu / selection=rsquare;
run;
%mend;
%macro analysis(first,last);
%let max=0;
%let k=0;
%do i=&first %to &last;
%ToRegFirstI(&i);
data _NULL_;
set est&i;
if _RSQ_>&max then
do;
%let max=_RSQ_;
%let k=&i;
end;
run;
%end;
%put k=&k maxRsquare=&max;
%mend;