turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

- Home
- /
- SAS Programming
- /
- SAS/GRAPH and ODS Graphics
- /
- Generating Slope for regression line

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

2 weeks ago

So I used this link https://blogs.sas.com/content/iml/2013/02/27/slope-of-a-regression-line.html and had a further quesiton about it.

Is there a way to get the slope coefficient for each group separately?

I used this code to generate the model and found a significant interaction effect. I wanted to generate some plots for these significant ones.

proc mixed data=&data namelen = 200;

class &group;

model &response = &exposure &group &exposure*group + confounders;

ods output tests3 = Fulltest&i;

run;

I have this code to try and generate the graphs:

ods graphics off;

proc reg data=&data;

model &response = &alcoholvar;

ods output ParameterEstimates=PE;

run;

data _null_;

set PE;

if _n_ = 1 then call symput('Int', put(estimate, BEST6.));

else call symput('Slope', put(estimate, BEST6.));

run;

PROC sGPLOT DATA = &data (where =( &group ne .)) noautolegend dattrmap = attrmap ;

reg x = &x y = &y /group = &group clm clmtransparency = 0.4 attrid = &group;

title "&title";

inset "Intercept = &Int" "Slope = &Slope" /

border title="Parameter Estimates" position=topleft;

run;

This only generates the intercept and slope for the first group listed. Is there any way to generate the slope for each group, (in my case there are 3 groups)? So there should be a slope for the line with group = 0, an 2nd slope for the line with group = 1, and a 3rd slope for the line with group = 2.

Accepted Solutions

Solution

a week ago

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to Leon27607

2 weeks ago

Proc reg may generate the plots you want, or at least give you an idea of what the data looks like. But I suspect that you need to tell Proc Reg which variable is your group variable with a BY statement. Sort the data by the group variable before Proc Reg and add a By statement.

The parameter estimates will then have 3 values, one for each group and you will need to create 3 macro variables for intercept and slope to reference in the inset statement. Look at the values of the parameters data set.

All Replies

Solution

a week ago

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to Leon27607

2 weeks ago

Proc reg may generate the plots you want, or at least give you an idea of what the data looks like. But I suspect that you need to tell Proc Reg which variable is your group variable with a BY statement. Sort the data by the group variable before Proc Reg and add a By statement.

The parameter estimates will then have 3 values, one for each group and you will need to create 3 macro variables for intercept and slope to reference in the inset statement. Look at the values of the parameters data set.