高老师,您好,帮我在看看,为什么提示“WARNING: PROC NLIN failed to converge”模拟2次就没有,10次就有。
%macro sim (e,k,f,name);
/*模拟100次*/
%do j=1 %to 100;
/*计算d1~~~dn模拟效应值,存放在临时数据集simu,计算simu的拟合优度*/
DATA SIMU ;
DO n=1 to &e ;
%do i= 0 %to &k ;
d&i=0.1+&i*0.8/&k;
R=1.002+9.023/(1+exp(10.47*(0.5-d&i)));
v&i=R+&f*R*rannor(&j);
%end ;
output ;
end;
%do n=0 %to &k;
data first&n;
set simu; keep d&n v&n;
data second&n;
set first&n;rename d&n=d v&n=v;
proc append data=second&n base=new; %end;
run;quit;
ods output anova=one;
proc nlin data=new;
model v=a + b/(1 + exp((0.5-d)*c)) ;
parms a=1 b=9 c=10.5 ;
run;
ods output close;
proc transpose data=one out=two;
run;
data three;
set two;
where _NAME_='SS';
run;
DATA four;
SET three;
COL4=COL1/COL3;
RUN;
proc append base=aa data=four ;
proc delete data=new;run;quit;
%end ;
proc export data=work.aa outfile="f:\sasdata\&name" dbms=excel2000 replace;
run;
%mend sim ;
%sim (25,7,1,aa38);
data a;
set aa;
proc means mean;var col4;
run;quit;


雷达卡
京公网安备 11010802022788号







