%let ul=5;
data da17_4;
input x y@@;
z=log ((&ul-y)/y);
output;
cards;
1.736237099 1.819291667
1.435207103 1.841291667
1.134177108 1.799791667
0.833147112 1.756291667
0.532117116 1.588291667
0.231087121 1.035291667
-0.069942875 0.616291667
-0.370972871 0.242791667
-0.672002866 0.096791667
-0.973032862 0.037291667
-1.274062858 0.026291667
-1.575092845 -0.011708333
;
run;
ods html;
proc gplot;
plot y*x;
symbol value=dot;
run;
proc reg data=da17_4 outest=est(keep=intercept x);
model z=x;
run;
quit;
data set1;
set est;
call symput('a1',exp(intercept));
call symput('b1',x);
run;
proc nlin data=da17_4;
parms K=&ul a=&a1 b=&b1;
model y=K/(1+a*exp(b*x));
output out=set2 p=yp r=resid;
run;
proc sql;
create table set3(sum num ,css num);
insert into set3 select sum(resid**2),css(y) from set2;
quit;
data set4;
set set3;
r2=1-sum/css;
run;
proc print data=set2 round;
run;
;proc print data=set4;
run;
ods html close;