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
- /
- ODS and Base Reporting
- /
- Creating Multiple Graphs Against Common Y Axis

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
- Highlight
- Email to a Friend
- Report Inappropriate Content

01-07-2008 03:55 PM

Hi all,

I currently have 10 explanatory variables, and I would like to compare each one against 1 common dependent variable, separately (which would require 10 different scatterplots).

My current process is pretty tedious, it involves the finding the average of the dependent variable for each occurence of each explanatory variable (sample code below)

PROC SQL;

CREATE VIEW LINE_SUMMARY1 AS

SELECT b1_last12,

AVG(BAD) AS BAD_AVG

FROM WORK.OUTCOME2

GROUP BY b1_last12

ORDER BY b1_last12;

QUIT;

Then plotting out the explanatory variable against the average outcome of the dependent variable

PROC GPLOT DATA = LINE_SUMMARY1

;

PLOT BAD_AVG * (B1_last12) /

RUN;

As it stands, I basically have to run these portions 10 times (for each explanatory var.). Is there some way to simplify this process? Thanks!

I currently have 10 explanatory variables, and I would like to compare each one against 1 common dependent variable, separately (which would require 10 different scatterplots).

My current process is pretty tedious, it involves the finding the average of the dependent variable for each occurence of each explanatory variable (sample code below)

PROC SQL;

CREATE VIEW LINE_SUMMARY1 AS

SELECT b1_last12,

AVG(BAD) AS BAD_AVG

FROM WORK.OUTCOME2

GROUP BY b1_last12

ORDER BY b1_last12;

QUIT;

Then plotting out the explanatory variable against the average outcome of the dependent variable

PROC GPLOT DATA = LINE_SUMMARY1

;

PLOT BAD_AVG * (B1_last12) /

RUN;

As it stands, I basically have to run these portions 10 times (for each explanatory var.). Is there some way to simplify this process? Thanks!

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

01-07-2008 04:53 PM

Hi.

You can compute all means at the same time, then use only one Gplot procedure to produce all graphs.[pre]

ODS EXCLUDE ALL ; /* prevents any printing of statistics */

ODS OUTPUT summary=work.means ; /* saves means in a dataset */

PROC MEANS DATA = work.outcome2 MEAN ;

VAR bad ;

CLASS b1_last12 /* and other explanatory variables */ ;

WAYS 1 ; /* compute means by each explanatory variable */

RUN ;

ODS SELECT ALL ; /* results now get printed as usual */

PROC GPLOT DATA = work.means ;

PLOT bad_mean * (b1_last12 /* and other explanatory variables */ ) ;

RUN ; QUIT ;

[/pre]

Regards.

Olivier

You can compute all means at the same time, then use only one Gplot procedure to produce all graphs.[pre]

ODS EXCLUDE ALL ; /* prevents any printing of statistics */

ODS OUTPUT summary=work.means ; /* saves means in a dataset */

PROC MEANS DATA = work.outcome2 MEAN ;

VAR bad ;

CLASS b1_last12 /* and other explanatory variables */ ;

WAYS 1 ; /* compute means by each explanatory variable */

RUN ;

ODS SELECT ALL ; /* results now get printed as usual */

PROC GPLOT DATA = work.means ;

PLOT bad_mean * (b1_last12 /* and other explanatory variables */ ) ;

RUN ; QUIT ;

[/pre]

Regards.

Olivier

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

01-08-2008 08:05 AM

good point, thanks alot!

:-)

:-)