Using MACRO and SAS/GRAPH to Efficiently Assess Distributions. Paul Walker, Capital One
|
|
- Esther Garrison
- 6 years ago
- Views:
Transcription
1 Using MACRO and SAS/GRAPH to Efficiently Assess Distributions Paul Walker, Capital One INTRODUCTION A common task in data analysis is assessing the distribution of variables by means of univariate statistics, and graphs such as histograms, scatter plots, box plots, etc. This task may be relatively straight-forward when analyzing a small dataset with only a handful of variables. However, when the data set is large and contains hundreds or even thousands of variables, the task can be daunting. The method described in this paper was motivated by the need to efficiently examine the distributions of a large number of variables. The method is characterized by the following: It is an improvement over proc univariate insofar as the output is more targeted to what you want to see. It provides an automated way to create graphs for a large number of variables. It provides a way to include summary statistics on your graphs. It integrates multiple graphs into one.gif file. SOLUTION TO THE PROBLEM A method was developed to automatically create the style graph shown in Figure 1 for each variable specified by the analyst. For each variable, the graph is contained in a.gif file that is named usually according to the name of the variable being graphed. The analyst specifies the variables in the form of a single-spacedelimited list. Within a Windows operating system environment, one can quickly wade through large numbers of graphics files using the Thumbnails or Filmstrip viewing options in Windows Explorer. I find this much more convenient than putting the graphs into a word or PDF document, which makes searching for an individual variable difficult. Moreover, having individual.gif files is useful if you want to organize the variables into different categories. In predictive model building, you might make folders for variables you want to discard, and variables you want to include in the model. Figure 1: Histogram / Scatter Plot Pair There are essentially four steps in the macro that creates the graph shown in Figure 1: 1. Parsing the user-specified variable list into macro variables indexed by an integer. 2. Getting summary statistics from other procs into macro variables. 3. Creating multiple graphs, including putting summary statistics in the footnote section of each graph. 4. Combine your graphs into one.gif file using proc greplay. I will describe the general idea of the code in each of these four steps. The reader should be familiar with SAS/GRAPH and the MACRO language. STEP 1: PARSE THE VARIABLE LIST The analyst must specify the list of variables that he/she wants to examine. For example, suppose the analyst has the following variable list: age height weight fastgluc postgluc 1
2 We need to assign these variable names to macro variables indexed by an integer. Thus, we would want the following macro variables and corresponding values: Macro Variables Values Var1 age Var2 height Var3 weight Var4 fastgluc Var5 postgluc nvars 5 The code in Step 1 of the Appendix performs this parsing. The variable list may contain any number of variable names. Now that we have the variable names in macro variables indexed by an integer, we can iterate through each variable name via a macro do loop, e.g. %do i=1 %to &nvars. When you want to refer to the i th variable, you would use the double ampersand technique &&var&i. For example, when i=3, &&var&i resolves to weight. STEP 2: GET SUMMARY STATS The purpose of the second step is to obtain those key summary statistics that you really want to see, and put them into macro variables. Once they are stored in macro variables, you can write them into the footnotes of your graphs produced in step 3. I will illustrate this trick using proc means. First, I use proc means to create a temporary output dataset named means. proc means data=&lib..&ds; var &&var&i; output out=work.means median(&&var&i)=median; This temporary dataset has one observation. It will contain the automatic variables _TYPE_ and _FREQ_, and the user-created variable median. Thus, to put the value of the median into a macro variable with the same name, we use the call symput technique. data _null_; set means; call symput( median,trim(left(median))); Hopefully the reader is able to distinguish the three uses of the word median in the above blocks of code. One use is as a function in proc means, the other is as a regular variable name, and the other is as a macro variable name. In short, the preceding code puts the value of the median of the i th variable into the macro variable median, which can then be called via &median. In practice, you would usually want to be more descriptive than just the median. STEP 3: CREATE GRAPHS The reader should already be familiar with the syntax of proc gchart and proc gplot. What I will illustrate is how to write summary statistics into a graph s footnote. To do so, you need to use a footnote statement with the call to the macro variable in double quotation marks. For example, a histogram could be produced as follows: proc gchart data=&lib..&ds; vbar &&var&i; footnote the median is &median ; You can create multiple graphs in this fashion (for example, histograms and scatter plots for the i th variable), and then in step 4 we put them together using proc greplay. STEP 4: USE PROC GREPLAY Before getting to the actual greplay proc, there are some options and pieces of code you need to specify. Since we want to output each set of graphs in a single.gif file, you will need to specify the filename as well as the device driver. The following code achieves this: goptions device=gif gsfname=nesug; filename nesug C:\Graphs\&&var&i gif ; Here the file is named with the variable s name. Alternatively, you could precede the variable name with some descriptive phrase, such as graphlist_. The triple period in the filename statement is necessary to resolve the double ampersand reference &&var&i. Recall that we only want one.gif file created for every variable. To achieve this, you must do two things. First, you must store each individual graph (histogram, scatterplot, etc.) that you produce for a given variable into a temporary sas catalog. Second, you must ensure that these individual graphs are not written to.gif files, i.e. that we do not create any extraneous.gif files. The following code achieves both of these: goptions nodisplay; proc gchart data=&lib..&ds gout=work.gseg; vbar &&var&i / name= histo ; Essentially, this code turns off the display, which prevents.gif output files from being produced. Later on, immediately before we use proc greplay, we will turn the display back on. The options gout= and name= create a catalog entry histo in the work.gseg temporary catalog. Using SAS Explorer, you can view the contents of the catalog (see Figure 2). I have also created the entry Scatter into the catalog. 2
3 you specify the catalog entries you want to put together. Since the template V2 has slots for two graphs, you must specify which goes in position 1 and 2. Figure 2: Temporary Catalog with Graphics Entries We will now use proc greplay to put the two catalog entries together in a.gif file. You must first turn the display back on, so that the.gif file will be produced. goptions display; You must also specify the template catalog which contains the template you want to use, as well as the particular template from it. It is possible to create custom templates, but I usually use one of the default templates provided in the sashelp.templt catalog, which can be browsed via SAS Explorer, as in Figure 3. The code I have described above works fine if you only graph one variable. For multiple variables, you have to add one extra block of code, and here s why. If you try to create a catalog entry named histo when an entry with that name already exists, then sas will automatically name your catalog entry histo1 and keep increasing the trailing integer for each additional entry you try to create named histo. Thus, the macro must include code to delete the catalog entries created by the previous variable in the iteration. The code should be placed before any of the graphics statements (proc gchart, proc gplot, etc.). The following code would delete catalog entries named histo and scatter from the temporary work.gseg catalog. proc catalog catalog=work.gseg; save histo.grseg scatter.grseg; delete histo.grseg scatter.grseg; The save statement makes sure that only the histo and scatter entries exist in the catalog, thus eliminating any extraneous catalog entries. Then the delete statement deletes them. You may see an error statement in the log on the first iteration, because the catalog entries histo and scatter do not yet exist. PUTTING IT ALL TOGETHER In the Appendix I have provided the complete code necessary to create the graph in Figure 1. This graph is based on the sasuser.diabetes dataset. The macro call used to create this (and other graphs not shown) was: %let mylist = age height weight fastgluc postgluc; %graphlist ( lib=sasuser, ds=diabetes, ivlist=&mylist, dv=pulse, path=c:\graphs); Figure 3: Browsing the sashelp.tmplt Catalog The following code puts the catalog entries named histo and scatter together using the V2 template. proc greplay nofs igout=work.gseg; tc sashelp.templt; template v2; treplay 1:histo 2:scatter; The igout= option specifies which catalog you are pulling entries from. The treplay statement is where 3 Notice that I used a macro variable named mylist to contain the variable list, which I then referenced in the macro call. If your list is very long, you might even want to include your list of variables in an external macro file, for example: %macro mylist; age height weight fastgluc postgluc %mend mylist; You would then reference it as %mylist instead of &mylist. Either way, the above macro call will produce five different graphs, which will be put into your C:\GRAPHS folder. A snapshot of the folder using
4 thumbnails view in Windows Explorer appears in Figure 4. When analyzing hundreds of variables, you may find that having one.gif file for each variable makes browsing and categorizing the variables much easier than having a several hundred page document produced (for example, by proc univariate). Figure 5: Logit Plots / Transformations Example Figure 4: Windows Explorer View of the.gif Files In practice, you will probably want to have output more tailored to your needs than a histogram / scatter plot pair with a few summary statistics included. For example, when building predictive models where the response variable is binary, you might use the technique described in this paper to create a different set of graphs with different summary statistics. For instance, Figure 5 shows four different plots in one.gif file. Each plot is a logit plot with a frequency plot overlay. The upper left graph is for the original variable, and the other three plots are common transformations that might be made when model building (square root, log, and reciprocal). In conclusion, if you follow the four steps outlined in this paper, you should be able to produce customized individual.gif files containing graphs and summary statistics that will hopefully make whatever analysis you are doing more efficient. EXTENSIONS This paper has described how to put multiple graphs into a single.gif file. However, I have not addressed the question of how to make a single title or footnote for all the graphs in the.gif file. For example, in Figure 5 it would be nice to have a title across the top which says logit plots for 4 transformations. This can be achieved via proc glside and creating a custom template. This approach is described in reference [1]. Finally, it should be noted that another approach to putting multiple graphs onto the same page is to use a PDF device driver. To do so, you would use the ods pdf option startpage=never as well as some graphics options such a vorigin=, horigin=, vsize=, and hsize= to position the graphs. This useful approach is described in reference [2], and is actually somewhat easier to program than using proc greplay as described in this paper. REFERENCES [1] Gayari, Michelle. Creating Graphs Using Templates. SUGI 22, paper 170. [2] Delaney, Kevin P. Multiple Graphs on One Page, the easy way (PDF) and the hard way (RTF). SUGI 28, paper 94. [3] SAS OnlineDoc, Version 8. SAS Macro Language Reference. [4] SAS OnlineDoc, Version 8. SAS Procedures Guide. 4
5 [5] SAS OnlineDoc, Vesion 8. SAS/GRAPH Software: Reference. CONTACT The author can be reached at: Paul Walker Capital One Drive, Building #2 Richmond, VA DISCLAIMER SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. indicates USA registration. Other brand and product names are registered trademarks or trademarks of their respective companies. ************************************************************************************** APPENDIX: FULL MACRO CODE WITH COMMENTS %macro graphlist ( lib= /* data library */, ds= /* data set */, ivlist= /* list of independent variables to be graphed */, dv= /* dependent variable for scatterplot */, path= /* output path for.gif files */ ) ; STEP 1: Parse the independent variable list (&ivlist). * Define variables used in parsing *; %let null = ; %let blank = %quote( ); %let fflag = 0; %let num = 0; * Loop through the list of variables *; %do %until(&&fflag=1); %let num=%eval(&num+1); %let var&num = %scan(&ivlist,&num,&blank); %if &null=&&var&num %then %let fflag=1; %end; * Number of variables in your list *; %let nvars=%eval(&num-1); STEP 2: Get summary statistics into macro variables. * Start looping through each variable *; %do i = 1 %to &nvars; * Get summary stats from proc means *; proc means data = &lib..&ds noprint; var &&var&i &dv; output out=means mean(&&var&i) = mean median(&&var&i) = median 5
6 n(&&var&i) = n nmiss(&&var&i) = nmiss; * Put proc means output into macro vars *; data _null_; set means; call symput('mean', trim(left(put(mean,best12. )))); call symput('median', trim(left(put(median,best12.)))); call symput('n', trim(left(put(n,best12. )))); call symput('nmiss', trim(left(put(nmiss,best12. )))); * Get summary stats from proc corr *; proc corr data = &lib..&ds noprint outp=pearson; var &&var&i &dv; * Put proc corr output into macro vars *; data _null_; set pearson end=last; if last then call symput('corr', trim(left(put(&&var&i,5.3)))); STEP 3: Create graphs which include summary statistics. * Delete catalog entries *; proc catalog catalog=work.gseg; save histo.grseg scatter.grseg; delete histo.grseg scatter.grseg; * Set general graphics options *; goptions device=gif gsfname=paul xpixels=800 ypixels=800 gunit=pct ftext=courier nodisplay; ods listing; filename paul "&path.\graphlist_&&var&i...gif"; * Create histogram *; symbol; axis; title; note; footnote; axis1 label=(angle=90 height=4 "frequency") value=(height=3); axis2 label=(height=4 "&&var&i") 6
7 value=(angle=90 height=3); proc gchart data = &lib..&ds gout=work.gseg; vbar &&var&i / name="histo" levels=10 raxis=axis1 maxis=axis2 ; title height=5 "histogram of &&var&i"; footnote justify=center height=3 " " justify=center height=4 "mean=&mean, median=&median, nmiss=&nmiss, n=&n"; * Create scatterplot *; symbol; axis; title; note; footnote; symbol1 v=triangle height=4 width=4; axis3 label=(angle=90 height=4 "&dv") value=(height=3); axis4 label=(height=4 "&&var&i") value=(height=3); proc gplot data = &lib..&ds gout=work.gseg; plot &dv * &&var&i / name="scatter" vaxis=axis3 haxis=axis4; title height=5 "scatterplot of &dv against &&var&i"; footnote justify=center height=4 " " justify=center height=4 "correlation between &dv and &&var&i is &corr."; STEP 4: Put the graphs together using proc greplay. * Turn on the display *; goptions display; * Use proc greplay *; proc greplay nofs igout=work.gseg; tc sashelp.templt; template V2; treplay 1:histo 2:scatter; * End of the "%do" loop *; %end; %mend graphlist; 7
Multiple Graphical and Tabular Reports on One Page, Multiple Ways to Do It Niraj J Pandya, CT, USA
Paper TT11 Multiple Graphical and Tabular Reports on One Page, Multiple Ways to Do It Niraj J Pandya, CT, USA ABSTRACT Creating different kind of reports for the presentation of same data sounds a normal
More informationA Plot & a Table per Page Times Hundreds in a Single PDF file
A Plot & a Table per Page Times Hundreds in a Single PDF file Daniel Leprince DIEM Computing Services, Inc. Elizabeth Li DIEM Computing Services, Inc. SAS is a registered trademark or trademark of SAS
More informationEasing into Data Exploration, Reporting, and Analytics Using SAS Enterprise Guide
Paper 809-2017 Easing into Data Exploration, Reporting, and Analytics Using SAS Enterprise Guide ABSTRACT Marje Fecht, Prowerk Consulting Whether you have been programming in SAS for years, are new to
More informationUsing SAS/GRAPH Software to Create Graphs on the Web Himesh Patel, SAS Institute Inc., Cary, NC Revised by David Caira, SAS Institute Inc.
Paper 189 Using SAS/GRAPH Software to Create Graphs on the Web Himesh Patel, SAS Institute Inc., Cary, NC Revised by David Caira, SAS Institute Inc., Cary, NC ABSTRACT This paper highlights some ways of
More informationDisplaying Multiple Graphs to Quickly Assess Patient Data Trends
Paper AD11 Displaying Multiple Graphs to Quickly Assess Patient Data Trends Hui Ping Chen and Eugene Johnson, Eli Lilly and Company, Indianapolis, IN ABSTRACT Populating multiple graphs, up to 15, on a
More informationInnovative Graph for Comparing Central Tendencies and Spread at a Glance
Paper 140-28 Innovative Graph for Comparing Central Tendencies and Spread at a Glance Varsha C. Shah, CSCC, Dept. of Biostatistics, UNC-CH, Chapel Hill, NC Ravi M. Mathew, CSCC,Dept. of Biostatistics,
More informationSAS Graphs in Small Multiples Andrea Wainwright-Zimmerman, Capital One, Richmond, VA
Paper SIB-113 SAS Graphs in Small Multiples Andrea Wainwright-Zimmerman, Capital One, Richmond, VA ABSTRACT Edward Tufte has championed the idea of using "small multiples" as an effective way to present
More informationThe GANNO Procedure. Overview CHAPTER 12
503 CHAPTER 12 The GANNO Procedure Overview 503 Procedure Syntax 504 PROC GANNO Statement 504 Examples 507 Example 1: Scaling Data-Dependent Output 507 Example 2: Storing Annotate Graphics 509 Example
More informationTop Award and First Place Best Presentation of Data Lan Tran-La. Scios Nova, Inc. BLOOD PRESSURE AND HEART RATE vs TIME
Top Award and First Place Best Presentation of Data Lan Tran-La Scios Nova, Inc. BLOOD PRESSURE AND HEART RATE vs TIME Vital signs were collected before, during, and after the infusion of Drug A. At the
More informationA Juxtaposition of Tables and Graphs Using SAS /GRAPH Procedures
A Juxtaposition of Tables and Graphs Using SAS /GRAPH Procedures Suhas R. Sanjee, MaxisIT Inc., Edison, NJ Sheng Zhang, Merck and Co., Upper Gwynedd, PA ABSTRACT Graphs provide high-impact visuals that
More informationSUGI 29 Posters. Paper A Group Scatter Plot with Clustering Xiaoli Hu, Wyeth Consumer Healthcare., Madison, NJ
Paper 146-29 A Group Scatter Plot with Clustering Xiaoli Hu, Wyeth Consumer Healthcare., Madison, NJ ABSTRACT In pharmacokinetic studies, abnormally high values of maximum plasma concentration Cmax of
More informationODS and Web Enabled Device Drivers: Displaying and Controlling Large Numbers of Graphs. Arthur L. Carpenter and Richard O. Smith Data Explorations
ODS and Web Enabled Device Drivers: Displaying and Controlling Large Numbers of Graphs Arthur L. Carpenter and Richard O. Smith Data Explorations ABSTRACT With the advent of the Output Delivery System,
More informationMANAGING SAS/GRAPH DISPLAYS WITH THE GREPLAY PROCEDURE. Perry Watts IMS Health
MANAGING SAS/GRAPH DISPLAYS WITH THE PROCEDURE Perry Watts IMS Health Abstract PROC is used for redisplaying graphs that have been stored in temporary or permanent catalogs. This tutorial will show how
More informationTips to Customize SAS/GRAPH... for Reluctant Beginners et al. Claudine Lougee, Dualenic, LLC, Glen Allen, VA
Paper SIB-109 Tips to Customize SAS/GRAPH... for Reluctant Beginners et al. Claudine Lougee, Dualenic, LLC, Glen Allen, VA ABSTRACT SAS graphs do not have to be difficult or created by SAS/GRAPH experts.
More informationChapter 1 Introduction. Chapter Contents
Chapter 1 Introduction Chapter Contents OVERVIEW OF SAS/STAT SOFTWARE................... 17 ABOUT THIS BOOK.............................. 17 Chapter Organization............................. 17 Typographical
More informationInternet, Intranets, and The Web
Paper 186-25 Producing Interactive Internet Presentations in SAS Software Iza Peszek, Merck & Co., Inc., Rahway, NJ ABSTRACT The ODS in SAS v.7 and higher allows users to create HTML files with drill-down
More informationPaper CC01 Sort Your SAS Graphs and Create a Bookmarked PDF Document Using ODS PDF ABSTRACT INTRODUCTION
Paper CC01 Sort Your SAS Graphs and Create a Bookmarked PDF Document Using ODS PDF Dirk Spruck, Accovion GmbH, Marburg, Germany Monika Kawohl, Accovion GmbH, Marburg, Germany ABSTRACT Graphs are a great
More informationIMPROVING A GRAPH USING PROC GPLOT AND THE GOPTIONS STATEMENT
SESUG Paper 33-2017 IMPROVING A GRAPH USING PROC GPLOT AND THE GOPTIONS STATEMENT Wendi Wright, Questar Assessment, Inc. ABSTRACT Starting with a SAS PLOT program, we will transfer this plot into PROC
More informationPROC CATALOG, the Wish Book SAS Procedure Louise Hadden, Abt Associates Inc., Cambridge, MA
ABSTRACT Paper CC58 PROC CATALOG, the Wish Book SAS Procedure Louise Hadden, Abt Associates Inc., Cambridge, MA SAS data sets have PROC DATASETS, and SAS catalogs have PROC CATALOG. Find out what the little
More informationDeveloping Data-Driven SAS Programs Using Proc Contents
Developing Data-Driven SAS Programs Using Proc Contents Robert W. Graebner, Quintiles, Inc., Kansas City, MO ABSTRACT It is often desirable to write SAS programs that adapt to different data set structures
More informationIntroduction to SAS. I. Understanding the basics In this section, we introduce a few basic but very helpful commands.
Center for Teaching, Research and Learning Research Support Group American University, Washington, D.C. Hurst Hall 203 rsg@american.edu (202) 885-3862 Introduction to SAS Workshop Objective This workshop
More informationDeveloping a Dashboard to Aid in Effective Project Management
Developing a Dashboard to Aid in Effective Project Management M. Paige Borden, University of Central Florida, Orlando, FL Maureen Murray, University of Central Florida, Orlando, FL Ali Yorkos, University
More informationPharmaSUG Paper TT10 Creating a Customized Graph for Adverse Event Incidence and Duration Sanjiv Ramalingam, Octagon Research Solutions Inc.
Abstract PharmaSUG 2011 - Paper TT10 Creating a Customized Graph for Adverse Event Incidence and Duration Sanjiv Ramalingam, Octagon Research Solutions Inc. Adverse event (AE) analysis is a critical part
More informationContents of SAS Programming Techniques
Contents of SAS Programming Techniques Chapter 1 About SAS 1.1 Introduction 1.1.1 SAS modules 1.1.2 SAS module classification 1.1.3 SAS features 1.1.4 Three levels of SAS techniques 1.1.5 Chapter goal
More informationSAS/GRAPH : Using the Annotate Facility
SAS/GRAPH : Using the Annotate Facility Jack S. Nyberg, ClinTrials Research, Inc., Lexington, KY. Stuart D. Nichols, ClinTrials Research, Inc., Lexington, KY. ABSTRACT The annotate facility in SAS/GRAPH
More informationSplitting Axis Text. Splitting Text in Axis Tick Mark Values
CHAPTER 3 Splitting Axis Text Purpose: This chapter describes techniques you can use to split long text into two (or more) lines in your axes. Two techniques are described one to split text in axis tick
More informationPaper SIB-096. Richard A. DeVenezia, Independent Consultant, Remsen, NY
Paper SIB-096 Tag Clouds - A list of tokens, sized by relative frequency Richard A. DeVenezia, Independent Consultant, Remsen, NY Abstract A tag cloud is a list of tokens, wherein the text size of a token
More informationThe GSLIDE Procedure. Overview. About Text Slides CHAPTER 27
959 CHAPTER 27 The GSLIDE Procedure Overview 959 About Text Slides 959 About Annotate Output 960 Procedure Syntax 960 PROC GSLIDE Statement 961 Examples 963 Example 1: Producing Text Slides 963 Example
More informationODS LAYOUT is Like an Onion
Paper DP03_05 ODS LAYOUT is Like an Onion Rich Mays, University of Rochester Medical Center, Rochester, NY Abstract ODS LAYOUT is like an onion. They both make you cry? No! They both have layers! In version
More informationABC s of Graphs in Version 8 Caroline Bahler, Meridian Software, Inc.
ABC s of Graphs in Version 8 Caroline Bahler, Meridian Software, Inc. Abstract Version 8 has greatly increased the versatility and usability of graphs that can be created by SAS. This paper will discuss
More informationPicturing Statistics Diana Suhr, University of Northern Colorado
Picturing Statistics Diana Suhr, University of Northern Colorado Abstract Statistical results could be easier to understand if you visualize them. This Hands On Workshop will give you an opportunity to
More informationCHAPTER 1 Introduction to SAS/GRAPH Software
3 CHAPTER 1 Introduction to SAS/GRAPH Software Overview 4 Components of SAS/GRAPH Software 4 Device-Based Graphics and Template-Based Graphics 6 Graph Types 6 Charts 7 Block charts 7 Horizontal bar charts
More informationOS/390 DASD I/O Drill Down Computer Performance Chart Using ODS SAS/GRAPH & MXG Software
Paper 216-27 OS/390 DASD I/O Drill Down Computer Performance Chart Using ODS SAS/GRAPH & MXG Software Neal Musitano Jr. Department of Veterans Affairs Information Technology Center Philadelphia, Pennsylvania
More informationSAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD
Paper BB-7 SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD ABSTRACT The SAS Macro Facility offers a mechanism for expanding and customizing
More informationSAS/GRAPH Introduction. Winfried Jakob, SAS Administrator Canadian Institute for Health Information
SAS/GRAPH Introduction Winfried Jakob, SAS Administrator Canadian Institute for Health Information 1 Agenda Overview Components of SAS/GRAPH Software Device-Based vs. Template-Based Graphics Graph Types
More informationGoing Under the Hood: How Does the Macro Processor Really Work?
Going Under the Hood: How Does the Really Work? ABSTRACT Lisa Lyons, PPD, Inc Hamilton, NJ Did you ever wonder what really goes on behind the scenes of the macro processor, or how it works with other parts
More informationPresentation Quality Graphics with SAS/GRAPH
Presentation Quality Graphics with SAS/GRAPH Keith Cranford, Marquee Associates, LLC Abstract The SASI GRAP~ Annotate Facilily along with hardware fonts can be used to produce presentation qualily graphics
More informationABSTRACT INTRODUCTION MACRO. Paper RF
Paper RF-08-2014 Burst Reporting With the Help of PROC SQL Dan Sturgeon, Priority Health, Grand Rapids, Michigan Erica Goodrich, Priority Health, Grand Rapids, Michigan ABSTRACT Many SAS programmers need
More informationABSTRACT INTRODUCTION TRICK 1: CHOOSE THE BEST METHOD TO CREATE MACRO VARIABLES
An Efficient Method to Create a Large and Comprehensive Codebook Wen Song, ICF International, Calverton, MD Kamya Khanna, ICF International, Calverton, MD Baibai Chen, ICF International, Calverton, MD
More informationArthur L. Carpenter California Occidental Consultants, Oceanside, California
Paper 028-30 Storing and Using a List of Values in a Macro Variable Arthur L. Carpenter California Occidental Consultants, Oceanside, California ABSTRACT When using the macro language it is not at all
More informationCompute; Your Future with Proc Report
Paper PO10 Compute; Your Future with Proc Report Ian J Dixon, GlaxoSmithKline, Harlow, UK Suzanne E Johnes, GlaxoSmithKline, Harlow, UK ABSTRACT PROC REPORT is widely used within the pharmaceutical industry
More informationUnlock SAS Code Automation with the Power of Macros
SESUG 2015 ABSTRACT Paper AD-87 Unlock SAS Code Automation with the Power of Macros William Gui Zupko II, Federal Law Enforcement Training Centers SAS code, like any computer programming code, seems to
More informationGraphically Enhancing the Visual Presentation and Analysis of Univariate Data Using SAS Software
Graphically Enhancing the Visual Presentation and Analysis of Univariate Data Using SAS Software James R. O Hearn, Pfizer Inc., New York, NY ABSTRACT The problem of analyzing univariate data is investigated.
More informationINTRODUCTION TO THE SAS ANNOTATE FACILITY
Improving Your Graphics Using SAS/GRAPH Annotate Facility David J. Pasta, Ovation Research Group, San Francisco, CA David Mink, Ovation Research Group, San Francisco, CA ABSTRACT Have you ever created
More informationUSING SAS PROC GREPLAY WITH ANNOTATE DATA SETS FOR EFFECTIVE MULTI-PANEL GRAPHICS Walter T. Morgan, R. J. Reynolds Tobacco Company ABSTRACT
USING SAS PROC GREPLAY WITH ANNOTATE DATA SETS FOR EFFECTIVE MULTI-PANEL GRAPHICS Walter T. Morgan, R. J. Reynolds Tobacco Company ABSTRACT This presentation introduces SAS users to PROC GREPLAY and the
More informationUsinq the VBAR and BBAR statements and the TEMPLATE Facility to Create side-by-side, Horizontal Bar Charts with Shared Vertical Axes Labels
Usinq the VBAR and BBAR statements and the TEMPLATE Facility to Create side-by-side, Horizontal Bar Charts with Shared Vertical Axes Labels Lela M. Brown, University of Oklahoma ABSTRACT PRoe GREPLAY's
More informationSix Cool Things You Can Do In Display Manager Jenine Milum, Charlotte, NC Wachovia Bank
Paper CC-029 Six Cool Things You Can Do In Display Manager Jenine Milum, Charlotte, NC Wachovia Bank ABSTRACT Many people use Display Manager but don t realize how much work it can actually do for you.
More informationA SAS Macro to Generate Caterpillar Plots. Guochen Song, i3 Statprobe, Cary, NC
PharmaSUG2010 - Paper CC21 A SAS Macro to Generate Caterpillar Plots Guochen Song, i3 Statprobe, Cary, NC ABSTRACT Caterpillar plots are widely used in meta-analysis and it only requires a click in software
More informationEXST SAS Lab Lab #6: More DATA STEP tasks
EXST SAS Lab Lab #6: More DATA STEP tasks Objectives 1. Working from an current folder 2. Naming the HTML output data file 3. Dealing with multiple observations on an input line 4. Creating two SAS work
More informationAn Introduction to PROC GREPLAY
An Introduction to PROC GREPLAY Marc Jacobs, AT&T, Basking Ridge, NJ April 20, 1993 PROC GREPLAY is a procedure for redisplaying graphs created using SAS/GRAPH software. With this procedure you can redisplay
More informationChanging Titles on Graphs With Minimal Processing
Changing Titles on Graphs With Minimal Processing Deb Cassidy, Computer Horizons Corporation, Indianapolis, IN Have you ever created numerous graphs only to have someone make a "minor" change in the title
More informationPaper Abstract. Introduction. SAS Version 7/8 Web Tools. Using ODS to Create HTML Formatted Output. Background
Paper 43-25 The International Studies Project : SAS Version 7/8 Web Tools To The Rescue Lilin She, UNC-CH, Department Of Biostatistics, Chapel Hill, NC Jeffrey M. Abolafia, UNC-CH, Department Of Biostatistics,
More informationThe GTESTIT Procedure
967 CHAPTER 28 The GTESTIT Procedure Overview 967 About the Pictures 968 About the LOG 971 Procedure Syntax 972 PROC GTESTIT Statement 972 Examples 973 Example 1: Testing a GOPTIONS Statement 973 Overview
More informationSAS CLINICAL SYLLABUS. DURATION: - 60 Hours
SAS CLINICAL SYLLABUS DURATION: - 60 Hours BASE SAS PART - I Introduction To Sas System & Architecture History And Various Modules Features Variables & Sas Syntax Rules Sas Data Sets Data Set Options Operators
More informationThe Plot Thickens from PLOT to GPLOT
Paper HOW-069 The Plot Thickens from PLOT to GPLOT Wendi L. Wright, CTB/McGraw-Hill, Harrisburg, PA ABSTRACT This paper starts with a look at basic plotting using PROC PLOT. A dataset with the daily number
More informationABSTRACT MORE THAN SYNTAX ORGANIZE YOUR WORK THE SAS ENTERPRISE GUIDE PROJECT. Paper 50-30
Paper 50-30 The New World of SAS : Programming with SAS Enterprise Guide Chris Hemedinger, SAS Institute Inc., Cary, NC Stephen McDaniel, SAS Institute Inc., Cary, NC ABSTRACT SAS Enterprise Guide (with
More informationData Quality Review for Missing Values and Outliers
Paper number: PH03 Data Quality Review for Missing Values and Outliers Ying Guo, i3, Indianapolis, IN Bradford J. Danner, i3, Lincoln, NE ABSTRACT Before performing any analysis on a dataset, it is often
More informationMaking Presentations More Fun with DATA Step Graphics Interface (DSGI) Hui-Ping Chen, Eli Lilly and Company, Indianapolis, Indiana
Paper CC03 Making Presentations More Fun with DATA Step Graphics Interface (DSGI) Hui-Ping Chen, Eli Lilly and Company, Indianapolis, Indiana ABSTRACT Microsoft PowerPoint is powerful and most popular
More informationPaper S Data Presentation 101: An Analyst s Perspective
Paper S1-12-2013 Data Presentation 101: An Analyst s Perspective Deanna Chyn, University of Michigan, Ann Arbor, MI Anca Tilea, University of Michigan, Ann Arbor, MI ABSTRACT You are done with the tedious
More informationSomething for Nothing! Converting Plots from SAS/GRAPH to ODS Graphics
ABSTRACT Paper 1610-2014 Something for Nothing! Converting Plots from SAS/GRAPH to ODS Graphics Philip R Holland, Holland Numerics Limited, UK All the documentation about the creation of graphs with SAS
More informationSparkLines Using SAS and JMP
SparkLines Using SAS and JMP Kate Davis, International Center for Finance at Yale, New Haven, CT ABSTRACT Sparklines are intense word-sized graphics for use inline text or on a dashboard that condense
More informationA Dynamic Imagemap Generator Carol Martell, Highway Safety Research Center, Chapel Hill, NC
A Dynamic Imagemap Generator Carol Martell, Highway Safety Research Center, Chapel Hill, NC ABSTRACT We learned that our web developers were turning a picture of the state of North Carolina with its one
More informationInteractive Graphs from the SAS System
Interactive Graphs from the SAS System Shi-Tao Yeh, GlaxoSmithKline, King of Prussia, PA. ABSTRACT An interactive graph is a dynamic graph interface that allows viewers interaction. The SAS System provides
More informationQuick Results with the Output Delivery System
Paper 58-27 Quick Results with the Output Delivery System Sunil K. Gupta, Gupta Programming, Simi Valley, CA ABSTRACT SAS s new Output Delivery System (ODS) opens a whole new world of options in generating
More informationInternet/Intranet, the Web & SAS
Dynamic Behavior from Static Web Applications Ted Durie, SAS, Overland Park, KS ABSTRACT Many Web applications, because of the infinite query combinations possible, require dynamic Web solutions. This
More informationSD10 A SAS MACRO FOR PERFORMING BACKWARD SELECTION IN PROC SURVEYREG
Paper SD10 A SAS MACRO FOR PERFORMING BACKWARD SELECTION IN PROC SURVEYREG Qixuan Chen, University of Michigan, Ann Arbor, MI Brenda Gillespie, University of Michigan, Ann Arbor, MI ABSTRACT This paper
More informationData Driven Annotations: An Introduction to SAS/GRAPH s Annotate Facility
Paper HW03 Data Driven Annotations: An Introduction to SAS/GRAPH s Annotate Facility Arthur L. Carpenter California Occidental Consultants ABSTRACT When SAS/GRAPH was first introduced, it was the only
More informationSAS Online Training: Course contents: Agenda:
SAS Online Training: Course contents: Agenda: (1) Base SAS (6) Clinical SAS Online Training with Real time Projects (2) Advance SAS (7) Financial SAS Training Real time Projects (3) SQL (8) CV preparation
More informationTS-659: Exporting SAS/GRAPH Output to PDF Files from Release 8.2 and higher
TS-659: Exporting SAS/GRAPH Output to PDF Files from Release 8.2 and higher The Portable Document Format is a common format for storing text and graphics in a high-resolution document that retains the
More informationWant Quick Results? An Introduction to SAS/GRAPH Software. Arthur L. Carpenter California Occidental Consultants
Want Quick Results? An Introduction to SAS/GRAPH Software Arthur L. arpenter alifornia Occidental onsultants KEY WORDS GOPTIONS, GPLOT, GHART, SYMBOL, AXIS, TITLE, FOOTNOTE ABSTRAT SAS/GRAPH software contains
More informationChapter 13 Introduction to Graphics Using SAS/GRAPH (Self-Study)
Chapter 13 Introduction to Graphics Using SAS/GRAPH (Self-Study) 13.1 Introduction... 2 13.2 Creating Bar and Pie Charts... 8 13.3 Creating Plots... 20 13-2 Chapter 13 Introduction to Graphics Using SAS/GRAPH
More informationSAS Training Spring 2006
SAS Training Spring 2006 Coxe/Maner/Aiken Introduction to SAS: This is what SAS looks like when you first open it: There is a Log window on top; this will let you know what SAS is doing and if SAS encountered
More informationMacros from Beginning to Mend A Simple and Practical Approach to the SAS Macro Facility
Macros from Beginning to Mend A Simple and Practical Approach to the SAS Macro Facility Michael G. Sadof, MGS Associates, Inc., Bethesda, MD. ABSTRACT The macro facility is an important feature of the
More informationCustomized Flowcharts Using SAS Annotation Abhinav Srivastva, PaxVax Inc., Redwood City, CA
ABSTRACT Customized Flowcharts Using SAS Annotation Abhinav Srivastva, PaxVax Inc., Redwood City, CA Data visualization is becoming a trend in all sectors where critical business decisions or assessments
More informationIntroduction. Getting Started with the Macro Facility CHAPTER 1
1 CHAPTER 1 Introduction Getting Started with the Macro Facility 1 Replacing Text Strings Using Macro Variables 2 Generating SAS Code Using Macros 3 Inserting Comments in Macros 4 Macro Definition Containing
More informationCreating Graphs Using SAS ODS Graphics Designer
Creating Graphs Using SAS ODS Graphics Designer William Knabe Former Director of Statistical Applications, UI Information Technology Services SAS Summer Training Institute 2016 Slide 1 Overview. Evolution
More informationDepending on the computer you find yourself in front of, here s what you ll need to do to open SPSS.
1 SPSS 11.5 for Windows Introductory Assignment Material covered: Opening an existing SPSS data file, creating new data files, generating frequency distributions and descriptive statistics, obtaining printouts
More informationEssential ODS Techniques for Creating Reports in PDF Patrick Thornton, SRI International, Menlo Park, CA
Thornton, S. P. (2006). Essential ODS techniques for creating reports in PDF. Paper presented at the Fourteenth Annual Western Users of the SAS Software Conference, Irvine, CA. Essential ODS Techniques
More informationModifying Graphics in SAS
Modifying Graphics in SAS Statistics 135 Autumn 2005 Copyright c 2005 by Mark E. Irwin Modifying Graphs As in S, it is possible to modify fonts, colours, symbols, lines, etc in SAS. The approach is a bit
More informationODS/RTF Pagination Revisit
PharmaSUG 2018 - Paper QT-01 ODS/RTF Pagination Revisit Ya Huang, Halozyme Therapeutics, Inc. Bryan Callahan, Halozyme Therapeutics, Inc. ABSTRACT ODS/RTF combined with PROC REPORT has been used to generate
More informationUSING DATA TO SET MACRO PARAMETERS
USING DATA TO SET MACRO PARAMETERS UPDATE A PREVIOUS EXAMPLE %macro report(regs=); %let r=1; %let region=%scan(®s,&r); %do %until(®ion eq ); options nodate pageno=1; ods pdf file="®ion..pdf";
More informationUsing SAS/GRAPH Software to Create Graphs on The Web Himesh Patel, SAS Institute Inc., Cary, NC
Using SAS/GRAPH Software to Create Graphs on The Web Himesh Patel, SAS Institute Inc., Cary, NC ABSTRACT Version 7 SAS/GRAPH software will contain several enhancements that enable users to easily display
More informationABC Macro and Performance Chart with Benchmarks Annotation
Paper CC09 ABC Macro and Performance Chart with Benchmarks Annotation Jing Li, AQAF, Birmingham, AL ABSTRACT The achievable benchmark of care (ABC TM ) approach identifies the performance of the top 10%
More informationApplied Regression Modeling: A Business Approach
i Applied Regression Modeling: A Business Approach Computer software help: SAS code SAS (originally Statistical Analysis Software) is a commercial statistical software package based on a powerful programming
More informationUsing Graph-N-Go With ODS to Easily Present Your Data and Web-Enable Your Graphs Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA
Paper 160-26 Using Graph-N-Go With ODS to Easily Present Your Data and Web-Enable Your Graphs Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA ABSTRACT Visualizing and presenting data effectively
More informationThe GIMPORT Procedure
705 CHAPTER 17 The GIMPORT Procedure Overview 705 Concepts 706 About Importing Graphics 706 Specifying a Fileref 706 Importing the File 706 CGM Elements Not Supported 707 About Color Mapping 707 About
More informationOne SAS To Rule Them All
SAS Global Forum 2017 ABSTRACT Paper 1042 One SAS To Rule Them All William Gui Zupko II, Federal Law Enforcement Training Centers In order to display data visually, our audience preferred Excel s compared
More informationSAS Macro Dynamics: from Simple Basics to Powerful Invocations Rick Andrews, Office of Research, Development, and Information, Baltimore, MD
ABSTRACT CODERS CORNER SAS Macro Dynamics: from Simple Basics to Powerful Invocations Rick Andrews, Office of Research, Development, and Information, Baltimore, MD The SAS Macro Facility offers a mechanism
More informationIntroduction to SAS/GRAPH Statistical Graphics Procedures
3 CHAPTER 1 Introduction to SAS/GRAPH Statistical Graphics Procedures Overview of SAS/GRAPH Statistical Graphics Procedures 3 Introduction to the SGPLOT Procedure 4 Introduction to the SGPANEL Procedure
More information%MISSING: A SAS Macro to Report Missing Value Percentages for a Multi-Year Multi-File Information System
%MISSING: A SAS Macro to Report Missing Value Percentages for a Multi-Year Multi-File Information System Rushi Patel, Creative Information Technology, Inc., Arlington, VA ABSTRACT It is common to find
More informationTips and Tricks in Creating Graphs Using PROC GPLOT
Paper CC15 Tips and Tricks in Creating Graphs Using PROC GPLOT Qin Lin, Applied Clinical Intelligence, LLC, Bala Cynwyd, PA ABSTRACT SAS/GRAPH is a very powerful data analysis and presentation tool. Creating
More informationWHAT ARE SASHELP VIEWS?
Paper PN13 There and Back Again: Navigating between a SASHELP View and the Real World Anita Rocha, Center for Studies in Demography and Ecology University of Washington, Seattle, WA ABSTRACT A real strength
More informationPharmaSUG 2015 Paper PO03
PharmaSUG 2015 Paper P03 A Visual Reflection on SAS/GRAPH History: Plot, Gplot, Greplay, and Sgrender Haibin Shu, AccuClin Global Services LLC, Wayne, PA John He, AccuClin Global Services LLC, Wayne, PA
More informationODS The output delivery system
SAS Lecture 6 ODS and graphs ODS The output delivery system Aidan McDermott, May 2, 2006 1 2 The output delivery system During the 1990 s SAS introduced a more extensive way of dealing with SAS output
More informationAn Introduction to ODS for Statistical Graphics in SAS 9.1 Robert N. Rodriguez SAS Institute Inc., Cary, North Carolina, USA
An Introduction to ODS for Statistical Graphics in SAS 9.1 Robert N. Rodriguez SAS Institute Inc., Cary, North Carolina, USA ABSTRACT In SAS 9.1, over two dozen SAS/STAT and SAS/ETS procedures have been
More information%MAKE_IT_COUNT: An Example Macro for Dynamic Table Programming Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma
Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma ABSTRACT Today there is more pressure on programmers to deliver summary outputs faster without sacrificing quality. By using just a few programming
More informationIt s Not All Relative: SAS/Graph Annotate Coordinate Systems
Paper TU05 It s Not All Relative: SAS/Graph Annotate Coordinate Systems Rick Edwards, PPD Inc, Wilmington, NC ABSTRACT This paper discusses the SAS/Graph Annotation coordinate systems and how a combination
More informationApplied Regression Modeling: A Business Approach
i Applied Regression Modeling: A Business Approach Computer software help: SAS SAS (originally Statistical Analysis Software ) is a commercial statistical software package based on a powerful programming
More informationTHE IMPACT OF DATA VISUALIZATION IN A STUDY OF CHRONIC DISEASE
THE IMPACT OF DATA VISUALIZATION IN A STUDY OF CHRONIC DISEASE South Central SAS Users Group SAS Educational Forum 2007 Austin, TX Gabe Cano, Altarum Institute Brad Smith, Altarum Institute Paul Cuddihy,
More informationPharmaSUG China. Systematically Reordering Axis Major Tick Values in SAS Graph Brian Shen, PPDI, ShangHai
PharmaSUG China Systematically Reordering Axis Major Tick Values in SAS Graph Brian Shen, PPDI, ShangHai ABSTRACT Once generating SAS graphs, it is a headache to programmers to reorder the axis tick values
More information