Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis...

68
Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Transcript of Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis...

Page 1: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Taking the Leap - Using ODS Statistical Graphics for Data Visualization

Wei Cheng, Isis Pharmaceuticals, Inc.Wei Cheng, Isis Pharmaceuticals, Inc.

Page 2: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Those who can tune that engine well — who solve basic human problems with greater

speed and simplicity than those who came before — will profit immensely.

Evan Williams, Founder of Blogger and TwitterEvan Williams, Founder of Blogger and Twitter

Page 3: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Life is a travelling to the edge of knowledge, then a leap taken

-- D. H. Lawrence-- D. H. Lawrence

Page 4: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Outline of TopicsOutline of TopicsCreate statistical graphs from SAS

proceduresCreate statistical graphs from Statistical

Graphics (SG) proceduresCreate statistical graphs from Graph

Template Language (GTL)ODS Graphics Designer ODS Graphics Editor

Page 5: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Outline of TopicsOutline of TopicsCreate statistical graphs from SAS

proceduresCreate statistical graphs from Statistical

Graphics (SG) proceduresCreate statistical graphs from Graph

Template Language (GTL)ODS Graphics Designer ODS Graphics Editor

Page 6: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Outline of TopicsOutline of TopicsCreate statistical graphs from SAS

proceduresCreate statistical graphs from Statistical

Graphics (SG) proceduresCreate statistical graphs from Graph

Template Language (GTL)ODS Graphics Designer ODS Graphics Editor

Page 7: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Outline of TopicsOutline of TopicsCreate statistical graphs from SAS

proceduresCreate statistical graphs from Statistical

Graphics (SG) proceduresCreate statistical graphs from Graph

Template Language (GTL)ODS Graphics Designer ODS Graphics Editor

Page 8: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Outline of TopicsOutline of TopicsCreate statistical graphs from SAS

proceduresCreate statistical graphs from Statistical

Graphics (SG) proceduresCreate statistical graphs from Graph

Template Language (GTL)ODS Graphics Designer ODS Graphics Editor

Page 9: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Procedure ODS

Data &Template

Output Object

ODS Output

Destination Engine

HTML Data Set RTF PDF Document

Styles

Data

Table

TemplateStore

Got Graph?

No

Statistical Graphics Engine

Expressions

FunctionsYes

or

Graph

Page 10: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

ODS Graphics Basics

ods <dest> file = …

<Procedure or data steps>

Ods <dest> close;

ods <dest> file = …

<Procedure or data steps>

Ods <dest> close;

Page 11: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

ODS Graphics Basics

ods <dest> file = …

ods graphics on;

<Procedure or data steps>

Ods <dest> close;

ods <dest> file = …

ods graphics on;

<Procedure or data steps>

Ods <dest> close;

Page 12: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

ODS Graphics Basics

ods <dest> file = …

ods graphics on;

<Procedure or data steps>

ods graphics off;

Ods <dest> close;

ods <dest> file = …

ods graphics on;

<Procedure or data steps>

ods graphics off;

Ods <dest> close;

Page 13: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

ODS Graphics Basics

ods <dest> file = …

ods graphics on / <options>;

<Procedure or data steps>

ods graphics off;

Ods <dest> close;

ods <dest> file = …

ods graphics on / <options>;

<Procedure or data steps>

ods graphics off;

Ods <dest> close;

Page 14: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

ODS Graphics Basics

ods graphics on / <options>;

Options:RESET IMAGENAME

ANTIALIAS HEIGHT

BORDER SCALE

OUTPUTFMT WIDTH

IMAGEMAP more-options

ods graphics on / <options>;

Options:RESET IMAGENAME

ANTIALIAS HEIGHT

BORDER SCALE

OUTPUTFMT WIDTH

IMAGEMAP more-options

Page 15: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

ods <dest> file = …

ods graphics on ;Proc freq data = sashelp.heart;tables bp_status;

Run;

ods graphics off;

Ods <dest> close;

ods <dest> file = …

ods graphics on ;Proc freq data = sashelp.heart;tables bp_status;

Run;

ods graphics off;

Ods <dest> close;

Page 16: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

Page 17: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

Page 18: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

ods graphics on ;Proc freq data = sashelp.heart;tables bp_status

/ plots(only)= freqplot;Run;

ods graphics off;

ods graphics on ;Proc freq data = sashelp.heart;tables bp_status

/ plots(only)= freqplot;Run;

ods graphics off;

Page 19: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

ods graphics on ;Proc freq data = sashelp.heart;tables bp_status

/ plots(only)= freqplot(type = dot);

Run;

ods graphics off;

ods graphics on ;Proc freq data = sashelp.heart;tables bp_status

/ plots(only)= freqplot(type = dot);

Run;

ods graphics off;

Page 20: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

Page 21: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

ods graphics on ;Proc freq data = sashelp.heart;tables bp_status

/ plots(only)= freqplot(type=dot orient = vertical);

Run;

ods graphics off;

ods graphics on ;Proc freq data = sashelp.heart;tables bp_status

/ plots(only)= freqplot(type=dot orient = vertical);

Run;

ods graphics off;

Page 22: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

Page 23: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

ods graphics on ;Proc freq data = sashelp.heart;tables sex * bp_status

/ plots (only) = freqplot;Run;

ods graphics off;

ods graphics on ;Proc freq data = sashelp.heart;tables sex * bp_status

/ plots (only) = freqplot;Run;

ods graphics off;

Page 24: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

Page 25: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

ods graphics on ;Proc freq data = sashelp.heart;tables sex * bp_status

/ plots (only) = freqplot(twoway = grouphorizontal);

Run;

ods graphics off;

ods graphics on ;Proc freq data = sashelp.heart;tables sex * bp_status

/ plots (only) = freqplot(twoway = grouphorizontal);

Run;

ods graphics off;

Page 26: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

Page 27: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

ods graphics on ;Proc freq data = sashelp.heart;tables sex * bp_status

/ plots (only) = freqplot(twoway = stacked);

Run;

ods graphics off;

ods graphics on ;Proc freq data = sashelp.heart;tables sex * bp_status

/ plots (only) = freqplot(twoway = stacked);

Run;

ods graphics off;

Page 28: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

Page 29: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

ods graphics on ;Proc freq data = sashelp.heart;tables bp_status

/ chisq plots(only)= deviationplot (type = dot);

Run;

ods graphics off;

ods graphics on ;Proc freq data = sashelp.heart;tables bp_status

/ chisq plots(only)= deviationplot (type = dot);

Run;

ods graphics off;

Page 30: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

Page 31: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

Page 32: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

Page 33: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

Page 34: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

Page 35: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

Page 36: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

Page 37: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

Page 38: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs from SAS Procedures

Page 39: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

SAS/STAT (ANOVA, GLM, MIXED, LIFETEST, etc.) SAS/QC (CAPABILITY, SHEWHART, etc.) Base SAS (CORR, FREQ, UNIVARIATE) SAS/ETS (ARIMA, TIMESERIES, VARMAX, etc.) Other (HPF, HPFENGINE, SAS Risk Dimensions)

Create Statistical Graphs from SAS Procedures

Page 40: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs Using SG Procedures

New SAS/GRAPH Procedures producing statistical graphs

SGPLOT

SGPANEL

SGSCATTER

New SAS/GRAPH Procedures producing statistical graphs

SGPLOT

SGPANEL

SGSCATTER

Page 41: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs Using SG Procedures

Proc sgplot data = sashelp.class;scatter x = height y = weight

/ group = sex name = “scatter”;loess x = height y = weight

/ group = sex clm clmtransparency = 0.6

nomarkers;keylegend “scatter”

Run;

Proc sgplot data = sashelp.class;scatter x = height y = weight

/ group = sex name = “scatter”;loess x = height y = weight

/ group = sex clm clmtransparency = 0.6

nomarkers;keylegend “scatter”

Run;

Page 42: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs Using SG Procedures

Page 43: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs Using SG Procedures

Proc sgpanel data = sashelp.heart;

panelby weight_status bp_status / layout = lattice;

reg x = height y = weight / cli;

Run;

Proc sgpanel data = sashelp.heart;

panelby weight_status bp_status / layout = lattice;

reg x = height y = weight / cli;

Run;

Page 44: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs Using SG Procedures

Page 45: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs Using SG Procedures

Proc sgscatter data = sashelp.heart;

plot (diastolic systolic ) * (weight height) / group = weight_status;

Run;

Proc sgscatter data = sashelp.heart;

plot (diastolic systolic ) * (weight height) / group = weight_status;

Run;

Page 46: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs Using SG Procedures

Page 47: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs Using SG Procedures

Proc sgscatter data = sashelp.heart;

compare x = (diastolic systolic ) y = weight;

Run;

Proc sgscatter data = sashelp.heart;

compare x = (diastolic systolic ) y = weight;

Run;

Page 48: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs Using SG Procedures

Page 49: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Animated Bubble Chart by Hans RoslingAnimated Bubble Chart by Hans Rosling

Page 50: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs Using GTL

Proc template;define statgraph simplereg; beginggraph;

entrytitle “Simple Scatter Plot with Regressin

Line”;layout overlay; scatterplot x = height y = weight; regressionplot x = height y = weight;endlayout;

endgraph;end;

Run;

Proc template;define statgraph simplereg; beginggraph;

entrytitle “Simple Scatter Plot with Regressin

Line”;layout overlay; scatterplot x = height y = weight; regressionplot x = height y = weight;endlayout;

endgraph;end;

Run;

Page 51: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs Using GTL

Proc sgrender data = sashelp.classtemplate = simplereg;

Run;

Proc sgrender data = sashelp.classtemplate = simplereg;

Run;

Page 52: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs Using GTL

Page 53: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs Using GTL

Proc template;define statgraph myplot; beginggraph;

entrytitle “Loess Fit by Gender”; layout overlay; scatterplot x = height y = weight

/ group = sex name = ‘sex’; loessplot x = height y = weight

/ group = sex name = ‘loess’;

Proc template;define statgraph myplot; beginggraph;

entrytitle “Loess Fit by Gender”; layout overlay; scatterplot x = height y = weight

/ group = sex name = ‘sex’; loessplot x = height y = weight

/ group = sex name = ‘loess’;

Page 54: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs Using GTL

layout gridded / autoalign = (topleft);discretelegend ‘sex’ ‘loess’

/ opaque = false border = true ;endlayout;

endlayout;endgraph;

End;Run;

layout gridded / autoalign = (topleft);discretelegend ‘sex’ ‘loess’

/ opaque = false border = true ;endlayout;

endlayout;endgraph;

End;Run;

Page 55: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Create Statistical Graphs Using GTL

Page 56: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

ODS Graphics Designer

Page 57: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

ODS Graphics Designer

Page 58: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

ODS Graphics Designer

Page 59: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

ODS Graphics Designer

Page 60: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

ODS Graphics Designer

Page 61: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

ODS Graphics Editor

Page 62: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

ODS Graphics Editor

Page 63: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Task What to Use?Task What to Use?

Graphs for statistical analyses Statistical proceduresStand-alone graphs SG ProceduresHighly customized graphs GTLEnhancing graphs for presentation ODS Graphics EditorGraphs without programming ODS Graphics Designer

Page 64: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Conclusion

ODS Statistical Graphics

is an exciting new functionality provided by SAS. It greatly enhances the ability of data visualization

integrates the graphic display with the tabular output

automates the production of statistical graphics

maintains the ability to customize the displays by modifying the templates and styles

create statistical graphs without knowledge of programming

ODS Statistical Graphics

is an exciting new functionality provided by SAS. It greatly enhances the ability of data visualization

integrates the graphic display with the tabular output

automates the production of statistical graphics

maintains the ability to customize the displays by modifying the templates and styles

create statistical graphs without knowledge of programming

Page 65: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

Conclusion

With SAS ODS Graphics, simpler and minimal coding is required to generate high quality statistical graphs. By spending less time in coding to improve the visual appearance of graphs for data visualization, we can focus more on the statistical analysis.

With SAS ODS Graphics, simpler and minimal coding is required to generate high quality statistical graphs. By spending less time in coding to improve the visual appearance of graphs for data visualization, we can focus more on the statistical analysis.

Page 66: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

ReferencesReferences

SAS/STAT 12.3 User’s Guide Chapter 21 Statistical Graphics Using ODS

SAS/STAT 12.3 User’s Guide Chapter 22 ODS Graphics Template Modification

SAS/STAT 12.3 User’s Guide SAS User’s Guide for SG Procedures, Graph Template

Language

Page 67: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.
Page 68: Taking the Leap - Using ODS Statistical Graphics for Data Visualization Wei Cheng, Isis Pharmaceuticals, Inc.

About the Speaker

Speaker:

Location of company:

Telephone:

E-Mail:

Wei Cheng

Isis Pharmaceuticals, Inc.

2855 Gazelle Court

Carlsbad, CA 92010

(760) 603-3807

[email protected]