Data visualization with SAS programming

Regression with restricted cubic splines

Accepted Solution Solved
Reply
New Contributor
Posts: 4
Accepted Solution

Regression with restricted cubic splines

Hi all,  

I want to graph the spline functions, so I create a data set to store spline basis functions, and I got the data set that is below. The issue is when I want to call the spl1-spl4 variables (In the data set appear like spl 1 spl 2 spl 3 and spl 4). The program doesn't recognize any form to call them (nor spl 1 spl 2 spl 3 spl4 neither spl_1 spl_2 spl_3 spl_4).  Can anyone help me?


/* Create SplineBasis = data set that contains spline basis functions */ proc glmselect data=merged0811dersesdiet outdesign(addinputvars fullmodel)=SplineBasis; effect spl = spline(lactationbypar / naturalcubic basis=tpf(noint) knotmethod=percentiles(5)); model weightchange2 = spl / selection=none; quit; proc sgplot data=SplineBasis; series x=lactationbypar y=spl1; series x=lactationbypar y=spl2; series x=lactationbypar y=spl3; series x=lactationbypar y=spl4; run;

 

Screenshot 2017-07-26 17.04.47(2).png

Thanks, 


Accepted Solutions
Solution
4 weeks ago
Super User
Posts: 17,865

Re: Regression with restricted cubic splines

[ Edited ]

Run a proc contents and verify the variable name and label. You need the name. If the name happens to have spaces, then wrap it in qutoes and add an N at the end.

 

'SP 1'n

mmazariegos wrote:

Hi all,  

I want to graph the spline functions, so I create a data set to store spline basis functions, and I got the data set that is below. The issue is when I want to call the spl1-spl4 variables (In the data set appear like spl 1 spl 2 spl 3 and spl 4). The program doesn't recognize any form to call them (nor spl 1 spl 2 spl 3 spl4 neither spl_1 spl_2 spl_3 spl_4).  Can anyone help me?


/* Create SplineBasis = data set that contains spline basis functions */ proc glmselect data=merged0811dersesdiet outdesign(addinputvars fullmodel)=SplineBasis; effect spl = spline(lactationbypar / naturalcubic basis=tpf(noint) knotmethod=percentiles(5)); model weightchange2 = spl / selection=none; quit; proc sgplot data=SplineBasis; series x=lactationbypar y=spl1; series x=lactationbypar y=spl2; series x=lactationbypar y=spl3; series x=lactationbypar y=spl4; run;

 

Screenshot 2017-07-26 17.04.47(2).png

Thanks, 



 

View solution in original post


All Replies
Solution
4 weeks ago
Super User
Posts: 17,865

Re: Regression with restricted cubic splines

[ Edited ]

Run a proc contents and verify the variable name and label. You need the name. If the name happens to have spaces, then wrap it in qutoes and add an N at the end.

 

'SP 1'n

mmazariegos wrote:

Hi all,  

I want to graph the spline functions, so I create a data set to store spline basis functions, and I got the data set that is below. The issue is when I want to call the spl1-spl4 variables (In the data set appear like spl 1 spl 2 spl 3 and spl 4). The program doesn't recognize any form to call them (nor spl 1 spl 2 spl 3 spl4 neither spl_1 spl_2 spl_3 spl_4).  Can anyone help me?


/* Create SplineBasis = data set that contains spline basis functions */ proc glmselect data=merged0811dersesdiet outdesign(addinputvars fullmodel)=SplineBasis; effect spl = spline(lactationbypar / naturalcubic basis=tpf(noint) knotmethod=percentiles(5)); model weightchange2 = spl / selection=none; quit; proc sgplot data=SplineBasis; series x=lactationbypar y=spl1; series x=lactationbypar y=spl2; series x=lactationbypar y=spl3; series x=lactationbypar y=spl4; run;

 

Screenshot 2017-07-26 17.04.47(2).png

Thanks, 



 

New Contributor
Posts: 4

Re: Regression with restricted cubic splines

Thank you very much Reeza, It works!

'spl 1'n

 

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 172 views
  • 0 likes
  • 2 in conversation