data a1; infile 'U:\.www\datasets512\Ch11ta06.dat'; input cost lotsize; proc print data=a1; run; *First plot the data; symbol1 v=circle i=sm70 c=black; proc sort data=a1; by lotsize; proc gplot data=a1; plot cost*lotsize/frame; run; *Define new variable to allow slope to change; Data a1; set a1; if lotsize le 500 then cslope=0; if lotsize gt 500 then cslope=lotsize-500; *Alternative cslope=(lotsize gt 500)*(lotsize-500); proc print data=a1; run; *Fit model and save predicted values; proc reg data=a1; model cost=lotsize cslope; output out=a2 p=costhat; run; *Plot piecewise linear model; symbol1 v=circle i=none c=black; symbol2 v=none i=join c=black; proc sort data=a2; by lotsize; proc gplot data=a2; plot (cost costhat)*lotsize/frame overlay; run;