I am using a PROC NLIN code that is supposed to add results from the PUT statement given below. I am not seeing the results of the PUT in either the output or the log window. I am running the same code on my data and I need to know the point of inflection. A sample code is given below which comes from the SAS website.
data a;
input y x @@;
datalines;
.46 1 .47 2 .57 3 .61 4 .62 5 .68 6 .69 7
.78 8 .70 9 .74 10 .77 11 .78 12 .74 13 .80 13
.80 15 .78 16
;
ODS GRAPHICS ON;
title 'Quadratic Model with Plateau';
proc nlin data=a;
parms alpha=.45 beta=.05 gamma=-.0025;
x0 = -.5*beta / gamma;
if (x < x0) then
mean = alpha + beta*x + gamma*x*x;
else mean = alpha + beta*x0 + gamma*x0*x0;
model y = mean;
if _obs_=1 and _iter_ =. then do;
plateau =alpha + beta*x0 + gamma*x0*x0;
put / x0= plateau= ; **gives point of inflection;
end;
output out=b predicted=yp;
run;title;
Hello @PamG,
On my computer, using listing output, the PUT statement in the PROC NLIN step writes to the output window. If I insert
file log;
before the PUT statement, it writes to the log window.
Hello @PamG,
On my computer, using listing output, the PUT statement in the PROC NLIN step writes to the output window. If I insert
file log;
before the PUT statement, it writes to the log window.
When I run your code I do se the results of the PUT statement at the end of the output:
The NLIN Procedure Approximate Correlation Matrix alpha beta gamma alpha 1.0000000 -0.9020250 0.8124327 beta -0.9020250 1.0000000 -0.9787952 gamma 0.8124327 -0.9787952 1.0000000 x0=12.747669162 plateau=0.7774974276
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.