I'm using the EFFECT statement within PROC PHREG to create a spline for one of my model predictors. Is there a way to plot the spline? I would like to plot it against the log hazard of my outcome. I found this SAS blog and used the code from it as below: proc phreg data=inefac_m1 outdesign=Splines;
class sex famhx(ref='No') smoking(ref='Never');
effect age_sp = spline(age / details naturalcubic basis=tpf(noint) knotmethod=list(25 35 50 60));
model personmonths*htn(0) = age_sp sex sbp1 dbp1 bmi famhx smoking alcohol dbp1|age_sp sex|age_sp sex|dbp1 /TIES=EFRON;
store parameter_dat5_m1;
output out=pre5_m1 survival=surv xbeta=beta;
ods select ParameterEstimates SplineKnots;
ods output ParameterEstimates=PE;
run; I get an "Assuming the symbol OUT was misspelled as outdesign" warning but it seems to work. But in the next step (PROC IML), I get an error message after pred=X*b (ERROR: (execution) Matrices do not conform to the operation.) proc iml;
use PE;
read all var "Estimate" into b;
close;
use Splines;
read all var {"age_sp1" "age_sp2" "age_sp3"} into X;
close;
pred = X*b;
create SplineFit var "Pred";
append;
close;
quit; Can anyone help me troubleshoot this or point me in a different direction, please? The plot shown in the linked SAS blog is pretty much what I would want:
... View more