HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

MWSUG 1995 Papers - Index

70 papers. Source: MWSUG (Midwest SAS Users Group) conference proceedings.

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 A Comparison of the MODULE Routines with S-PLUS Extensibility Richard D. Langston This paper compares an extensibility feature of S-PLUS'" with the capabilities of the MODULE routines supplied with Release 6.10 of the SAS'" System. INTRODUcnON S·PLUS is a statistical and mathematical programming package that has proven to be very popular with users of the SAS System. Often S-PLUS Is compared to the SAS System. The two packages uses different approaches to solving problems. and these approaches cannot possibly be adequately addressed in this paper. However. one of the factors that I have heard repeated many times is that S·PLUS provides the user with the capability to call extemal subroutines. With the advent of the MODULE routines in Release 6.10 of the SAS System, this capability is available in the SAS System. This paper attempts to compare this extensibHity feature as it exists in S·PLUS with the functionality introduced with the MODULE routines. The discussion in this paper will be confined to interfaces with the C language missing value, data step 4
2 A Couple of Unix Tips Patrick Coburn dataset, in= 3
3 A Historical Perspective of SAS's Future Rick Nicola The history of SAS with its roots in 370 architecture is similar to many other products. The jump to the PC and the offering of like facilities on many other platforms was paralleled by a much smaUer subset of other products. Companies looking for a cohesive approach to make the next jump to object oriented programming and beyond should study history before choosing their ·strategic" tools. This paper will touch on the history of SAS and its use at many data· centers in the seventies and early eighties. It will examine present capabilities and how they follow the same basic philosophy as the original facilities. Finally, the paper will discuss why SAS will successfully make its next jump, by drawing from its base philosophy and its technical roots data governance, raw data, proc step 5
4 A Macro System for Calling PROC GPLOT For General Usage But Also Having a Major Application for PROCS LIFETEST and PHREG Plots Hugh Geary This system enables the user to specify titles, labels, footnotes, symbols, input and output data set names, annotations and various control variables in the argu ments of a calling statement without having to write the title, footnote and axis statements, etc. for PROC GPLOT each time a graph needs to be produced. The system consists of a general macro for setting up the call to PROC GPLOT and a special pur pose macro, called by the general macro, to compute the coordinates and annotations (which in our case are for the Lifetest/ Phreg graphs but could be for any application. ) The application to PRoes LIFETEST and PBREG plots the survival data,for one, two, three or more groups while depicting censoring. Extra annotations have been computed to display the number-at-risk at each tic·mark along the horizontal axis. Also in the general macro a moveable window has been created in which pertinent statistics can be prominently displayed proc step, call symput, hazard ratio, proc gplot, %if-%then-%else, macro variable, macro loop 6
5 A New Approach to Outer Joins with More than Two Tables Howard Levine When using SQL to join tables together when all of the rows from all of the tables do not match up to at least one row in every other table, you must use outer joins. This situation is rather cornmon: an insurance policyholder with no claims records, a potential customer who has not yet placed an order, and an employee who has not yet had an evaluation are all examples of outer join situations. Currently, when doing outer joins of more than two tables, it is necessary to fJrSt join two tables together and then join the result with another table. This process continues until all tables are joined. In comparison to the code for an inner join using the same tables, the code for an outer join is extremely complicated. Also, changing the order of the joining process can affect the rows of an outer join, but will not affect the rows of an inner join. The algorithm that will be presented avoids the problems of standard outer joins proc print, data merging, proc step, proc sql, inner join, create table, ansi sql, data integrity, dataset, proc sort 10
6 A Statistical Analysis Macro Library in SAS Carl R. Haske,
Vivienne Ward
Statistical analysis plays a major role in pharmaceutical research. The SAS system provides many procedures that perform analysis, nonetheless it is typical to customize a procedure to fit each specific situation. This requires that a new procedure or program be written each time an analysis is performed. However, many types of analyses are programmed similarly, with only minor characteristics differentiating each customized procedure. These characteristics can be parameterized and the procedure abstracted to a macro routine. This paper discusses a macro library of statistical analysis tools developed by STATPROBE, Inc. The core procedures of the macro tools use PROC FREQ for the analysis of categorical data. The macro tools accept a parameter list that includes input data set names, output data set names, variable identifiers, group identifiers, report titles, test identifier, and test options data science, clinical trial, macro loop, proc step, chi-square test, proc freq, macro conditional, macro definition, sample, exact test, fisher exact test, macro variable, proc sql, anova 5
7 A User-Friendly and Flexible System for Generating Data Listings with Easy Documentation and Validation Bill Adams,
Brian Mitchell
As the size and volume of SAS-generated reports submitted to the Food and drug Administration (FDA) and other governmental and private organizations has grown, program validity and the resultant reliability of such reports have become concerns. To address these issues, we developed an extremely flexible SAS-based system to generate data listings which are defined by a self-documenting parameter file. The parameters that control the specific layout of each requested listing reside in a common file. This file and all of the custom code required for specific listings are maintained in a single SAS catalog for easy maintenance and documentation. The user interface is through a SAS EISI AF application that provides context-sensitive help and popup menu selection of variables and report attributes proc print, catalog 6
8 Advanced Features of PROC REPORT Kim L. Kolbe Ritzow PROC REPORT is a powerful new Base SASe PROC which combines the functionality of other BASE SAS PROCs such as PRINT, MEANS, FREQ, and TABULATE into a single PROC STEP. This paper is designed for users with existing knowledge of PROC REPORT's more basic report writing features and who are interested in learning additional techniques to generate more sophisticated reports. This paper will focus on customized breaklines, grouped or stacked column headings, and advanced tricks for improving the appearance of reports. Skipping More Than One Une Between Totals The SKIP option will skip one line before the next group begins printing. To skip more than one line, a COMPUTE block can be used proc step, proc report, proc format, character variable, date variable 7
9 An Electronic Roadmap to SAS Discussion and Support Rick Nicola This paper I demonstration will show entry to INTERNET facilities via a common on-line service (pRODIGy). Other facilities will be explained, including SAS-L. TSNEWS. EMITS. and SIBBS. Over the past several years, SAS users have been "hit" with a barrage of electronic services and facilities to help solve and report problems *. exchange information. and perform other tasks formerly done by telephone and direct human contact. There are so many new facilities and so many ways to access these facilities that many users are understandably confused. The presentation will meet the folllming objectives: First it will introduce a structured way of looking at the various facilities to better understand attendant functions and to ic1enti1Y those which overlap or are redundant. Second, the talk \\ill present a roadmap to using available on-line senices and INTERNET to access SAS Newsgroups and a World Wide Web Browser 5
10 An Introduction to Binary Logistic Regression Linda M. Quinn Modeling the relationship between a binary response variable and one or more independent variables can be done within the SAS System using PROC LOGISTIC. This tutorial will explain how to run a basic logistic model, will discuss the available options, and will review the output generated. A new feature of PROC LOGISTIC in version 6.10 is the ability to display ROC curves and to generate customized confidence intervals. Examples and coding will be provided logistic distribution, proc logistic, proc step, odds ratio, regression analysis, logistic regression, confidence interval, estimate, response variable, goodness of fit, roc curve, likelihood function, predictor variable, sample 8
11 An Introduction to PROC REPORT Kim L. Kolbe Ritzow PROe REPORT is a powerful new Base SASe Procedure in Version 6.07 of the SAS System-. It combines the functionality of other Base SAS PROes such as PRINT, MEANS, FREQ, and TABULATE into a single PROe step. This paper is designed for users with little or no knowledge of PROC REPORT and who would like to leam its basic syntax. This presentation will discuss ordering of data, grouping data, computing new variables, producing report breaks, and incorporating user-clefined formats. In addition to combining functionalities of other Base SAS PROCs, PROe REPORT also provides unique reporting capabilities not found in other Base SAS PROes (for example, customized breaks and multi-column reports) proc report, proc step, user-defined format, sas base 5
12 Applications of PROC PHREG Enhancements in Version 6.10 Ying C. So There are two major enhancements to the PHREG pro· cedure in Release 6.10. One is the counting process style of input, and the other is the availability of various residuals and diagnostic measures. The counting pro cess formulation allows PROC PHREG to fit a superset of the Cox model, known as the multiplicative hazards model. This extension includes multiple events per sub jects, left truncation on the observation of survival time, and time-dependent covariates. Residuals and regres sion diagnostics are useful in assessing the adequacy of the model and in identifying influential observations. This article also discusses two applications that involve robust sandwich variance estimates proc phreg, proc step, predictor variable, sample, proc calis, covariance, likelihood function, response variable, dfbetas, estimate, time-dependent covariate, regression analysis 9
13 Calculation of the Mean and Variance of Lognormal Data Which Contains Left-Censored Observations Stephen J. Ganocy Calculation of the Mean and Variance of Lognormal Data Which Contains Left-Censored Observations Stephen J. Ganocy The Goodyear Tire & Rubber Company Akron, Ohio The mean and variance of data which not only is distributed log normally but also contains left-censored observations, e.g. measurements which fall below the detection limit of a measuring instrument, can be estimated by means of the delta distribution. Furthermore, using the delta distribution allows estimation of these parameters when the data also contains true zeroes. This paper describes how this distribution can be used for this purpose and presents a SAS macro for doing the calculations censoring, confidence interval 6
14 Changing Titles on Graphs With Minimal Processing Deb Cassidy proc step, proc greplay, batch job 6
15 Comments and Special Characters Deb Cassidy comment, sas base, macro facility 2
16 Conversion to SAS from Other 4GL Languages Rick Nicola The introduction of PROC REPORT, as well as the SAS/ACCESSE products, has made SAS a viable alternative to many other report writers and products tagged as "fourth generation languages." Those shops who ~ish to standardize on a single product to save software costs and direct their employee skills, will find SAS the logical choice. The full displacement of software products is, hOWCl<-er, easier said than done. This paper ~ill present a generalized method for converting from such products to SAS. Specific methods used for EASYTRIEVE (batch) conversion and the conversion from FOCUS will be presented. Pitfalls, problems, shortcomings, and circumventions will also be reviewed. Many data processing installations that have a broad user base, have made an effort to pr<l\-ide their non DP clients with "user-friendly" tools. Unfortunately, as time has passed, many of these tools have not kept pace with the times and prove costly on several fronts proc report, proc step, flat file, proc sql, sample 6
17 Data Management and Manipulation: Examples for Normalized Databases and Spreadsheets Marlene Goormastic,
Shelly Sapp
Advances in the ability to transfer data from a variety of computer database and spreadsheet packages into SAS datasets has made data management and manipulation an increasing challenge for the SAS programmer. Conversion of EXCEL and Lotus f1les. for example, often leads to datasets with non-numeric and poorly deftned variable fields. Several functions including SCAN, SUBS1R. and TRIM will be presented for manipulation of character defmed data. The use of SAS/ACCESS for relational databases such as ORACLE and Rdb has added a new level of complexity to programming. These relational databases require the creation of a single analysis dataset using multiple tables, which are often normalized. The building of . consolidated datasets using the basic application of procedures such as 1RANSPOSE and SQL along with the RETAIN, MERGE, and KEEP functions will be demonstrated. This talk will be of interest to all SAS programmers, beginner and seasoned. who work with less than perfect data proc step, proc sql, proc transpose, relational database, proc print, create table, date variable, character variable, binary variable, left join, key, numeric variable 6
18 Designing a USABLE Application: User Interfaces and Usability Testing Jason Thomas The increased availability of graphical user interface (GUI) tools for application development calls for techniques to ensure that the applications are USABLE, and not just pretty or fancy. GUI tools, such as those available in sp.se application development using SAS/FSPI' and SASfAF'" software with FRAME, have been created to develop better user interfaces for applications. This paper presents techniques and principles to aid the application developer in designing a usable interface. What Is an Interface? "To the users, the interface is the system" [Hlx & Hartson 1993]. An Interface is a means by which a person interacts with something to perform a desired function. We encounter such interfaces repeatedly in our day-to-day lives. For example, your telephone, your television remote control, your car stereo controls, your keyboard, and the buttons In an elevator are all interfaces that you encounter daily. Interfaces are evolutionary beasts, where survival 01 the fittest reigns error message, proc freq 7
19 Desktop Publishing with SAS and WordPerfect Christopher Toppe Let's face it: any report produced in the fixed space Courier font looks amateurish. And we all know that SAS output loves Courier and hates Times Roman or any other proportional, desktop publishing font But that doesn't mean that you have to be the only one in your office who produces ugly reports. It is possible to create WordPerfect documents within SAS -- to imbed WordPerfect control codes for attributes like centering, bolding, underlining, and especially tabs. This allows you to go directly from SAS to WordPerfect, with all the desktop publishing capabilities of WordPerfect available for that SAS created document The Secrets Creating a WordPerfect document from SAS is really straight forward once you know the secrets. They are listed below. ~ Start with a blank WordPerfect document A blank WordPerfect document is not empty. It contains all sorts of useful information in the header portion of the file proc step, proc printto, sas output 7
20 Determining The Binding Constants of Biologically Active Compounds to Nucleic Acids: A Nonlinear Regression Approach David E. Booth regression analysis, proc nlin 17
21 Developing SAS/AF Applications for Reviewing Clinical Care Carl R. Haske Clinical review of data is a significant element of the data management process in the pharmaceutical industry. Conventional methods involve review of data using case report forms and hard copy of reports generated by a data management team and delivered to clinicians after the data management team finalizes the clinical database. Creative uses of computer technology allow clinicians real-time, interactive access to a database during the data entry and query process. Software systems that integrate the data management process and review process tend to deliver information faster, effectively increasing efficiency leading to accelerated production of a final database. This paper discusses techniques for developing SAS/ AF applications and presents a real-life example, STATPROBE OAT A ACCESS"', an information system that allows clinicians and data managers to access and review data as it flows through a data management system feature selection, label statement, variable list, macro variable 5
22 Development Facilities and Tools for SAS Applications Philip H. Van Dusen SAS Consulting Services has an application development environment (ADE) that centers around a collection of generic SAS programs we call Toolbox. Components of the Toolbox include SAS/AF subclasses, utility programs, applications, SAS macros, and SAS sample code. The organization of, and access to, Toolbox itself is controlled by an AF program. This paper will describe the infrastructure of our Toolbox using example Toolbox screens and Toolbox entries sample, data integrity, macro variable, dataset, catalog entry, macro definition 10
23 Discussion of the Comparison of GLM and MIXED Procedures for a Repeated Measures Design: One Within and One Between Subjects Factor Michelle Secic Many SA,s1 users are familiar with statistical procedures referred to as 'repeated measures analyses of variance'. Those who use these techniques may also be frustrated in determining the appropriate SAS code and in understanding the calculations involved in the results. In this paper, I first introduce the special characteristics of the required data structure for repeated measures analyses. Next, I present a medical example involving a single within subjects factor and a single between subjects factor. Four variations of this example are presented, including 1) no missing data & equal size groups, 2) no missing data & unequal size groups, 3) missing data & equal size groups and 4) missing data & unequal size groups. In addition, four sets of SAS code are discussed as options for analysis of the data: using 1) PROC GLM as a split plot deSign, 2) PROC GLM with the "repeated" statement, 3) PROC MIXED with the "repeated" statement and 4) PROC MIXED with the "random" statement repeated measures, proc mixed, missing value, longitudinal data, proc genmod, proc glm, anova, response variable, correlation, compound symmetry, repeated measures anova, proc step, likelihood function, sample, interaction effect, normal distribution, group by, restricted maximum likelihood 6
24 Doing Inverse Regression Estimation Via SAS/IML E. C. Drago,
T. G. Filloon
Inverse regression (also known as linear calibration) is used to determine when/where a linear regression line (± SE) crosses a given horizontal line. We often need to quantify the potency of drug compounds using their dose response curves. An example ofthis would be to predict a compound's ED50 - what dose level a compound must be to reduce a negative reaction (such as pain, swelling, etc.) below a specific limit (e.g., 50% reduction from a control compound). The point estimate of an ED50 is simple to calculate, but the standard error of the ED50 is usually needed also. Using IML, we have programmed the algebraic equations (inverting the confidence interval for the mean regression line) from Snedecor and Cochran to obtain standard error limits for our ED50 point estimate. One can visually see the estimate when plotting the data using PROC GPLOT, but SASIIML code is needed to define the ED50 ± SE exactly regression analysis, proc calis, confidence interval, proc reg 6
25 Don't Be Roadkill on the Superhighway: Using the Internet to Support SAS Software Nancy Hill sample, ftp 5
26 DSGI: Some Helpful Hints Deb Cassidy sysrc, character variable, proc step 10
27 Efficient Techniques for Random Access to SAS Data Sets David Sommer The standard technique for random access in SAS. DATA STEP coding is the use of the KEY= option of the SET statement to read observations from an indexed dataset. Also well known as a random access technique is the use of formats created by the FORMAT procedure. But when millions of accesses must be made, the indexed dataset technique is often very slow. And although very fast in execution, the format technique is tedious to implement. This paper gives performance results on the indexed, format, and a hybrid technique, with some guidelines as to when each is appropriate. Macros presented here make the use of any of the three techniques easy and as efficient as each can be macro variable, set statement, proc format, index 6
28 Enumeration Technique for Efficient Clinical Laboratory Reports Matthew J. Becker The clinical laboratory reports may be a Source of discouragement for any level of SAS· programmer. Conventional methods at STATPROBE, Inc. consisted of generating new programs for each report and project. The reasoning was that different projects contained different laboratory parameters. Therefore. a standard laboratory reporting macro would contain branching conditions for projects with different laboratory parameters. To remedy this situation, a laboratory enumeration file is generated that is included by a standard laboratory reporting macro. The enumeration file consists of macro variables defining the laboratory parameter, a descriptive name, units, and the output format. Indexing the macro variables with increasing numerical values beginning at one (1) allows for macro do·loop processing in the standard laboratory report macro when generating the report. STATPROBE established the enumeration technique to build efficiency in the reporting of clinical laboratory data macro variable, macro loop, laboratory data, macro definition 3
29 Formats: A Beginner's Tutorial Richard D. Langston This tutorial will introduce the beginning user of the SAS System to the concept of formats. Several Institute·supplied formats wiD be described so that the user can better understand the concept. Then, PROC FORMAT will be introduced as the method by which the user can produce custom formats. Various features of PROC FORMAT are discussed, including ranges, exclusion ranges, LOW/HIGHIOTHER, Informats, PICTURE, and the CNTLIN= data set proc format, proc step, date variable, decimal, sysdate9, proc print 4
30 Formats: An Advanced Tutorial Richard D. Langston This tutorial discusses several advanced features of format processing that can be of interest even to knowledgable users of the SAS System·. Items covered include: using formats as labels, cntlout and cntlin data sets, gaining efficiency with the the NOTSORTED option, using a format as an alternative to sorting large data sets, and comparing V5 and V6 formats proc format, proc step 4
31 Getting ANNOTATE Data Sets to Work For You - A Beginning Tutorial Cynthia J. Musser A beginning tutorial will be presented for SAS/GRAPJP software users who would like to enhance graphics output using ANNOTATE data sets but have been frustrated with or have not had the time to tackle the SAS manual. Building an ANNOTATE data set to enhance existing graphics output containing: function variables - what to do position variables - where to do it attribute variables - how to do it will be discussed and illustrated with examples of code and resulting output. Most examples will be from a biomedical environment but will be generalizable enough to aid anyone in enhancing existing graphics output regression analysis, proc step 6
32 Getting Subtotals and Percentages: It's Never Been So Easy Christopher Toppe Getting subtotals and percentages onto a database has always been one of the curses of working with SAS data. The most common techniques are neither easy to conceptualize nor easy to program. Sorting your data and using FIRST. and LAST. variables is perhaps the standard brute-force programming methodology that we all have learned to use and come to hate. Using PROC MEANS (or PROC proc sql, group by, proc step, by group processing, proc means, create table, dataset, sas base 6
33 Homemade SCL List Functions Melissa J. Kerner Lists are a robust feature of Screen Control Language. They are easy to manipulate, yet they are capable of storing a mix of data types in a vertical format. -Grouped- lists are conceptually similar to flipping SAS data set observations vertically and stacking them. Each observation becomes a group of items in the list. This paper presents ten functions written to work with grouped lists which include: loading data into a list from a SAS data set, and the converse locating an item's position listing unique item names merging two lists adding and deieting items subsetting a list dataset, where statement 10
34 How to Unravel Hierarchical Data Using SAS Maxine Heinitz,
Sue Hakomaki
Many companies are faced with converting data from specialized systems into a form compatible with modem, relational structures. Hierarchical data consists of a header record and detail records. This paper discusses the application of SAS programming to unravel the hierarchy into a form which may be imported into relational database tables. The trailing @ was used to evaluate whether the record type is header or detail. Specialized processing unique to FDA's data involved use of the RETAIN statement while reading in the header to convert the record identification number to one which related to 'sample' numbers used by Agency-wide systems. Procedures were applied to the detail records to write those details to the header. Tips for efficient processing and debugging will be discussed. What is Hierarchical Data? Many files, particularly files from legacy systems, are hierarchical in structure, consisting of o a header record o one or more related detail records relational database, proc step, data step, sample, dataset 5
35 Hypothesis Testing & Confidence Interval Estimation via the Least Absolute Value (LAV) Approach Tom G. Filloon regression analysis, proc calis, proc glm, covariance, residual, estimate, confidence interval, proc reg, robust estimator, anova, sample, box plot 6
36 Introducing the Sample Library File Contribution Server Richard D. Langston,
Gregory S. Barnes Nelson
This paper discusses the repository of user-contributed SAS applications software that will reside on an FTP file server accessible via Internet This paper describes the various tools that allow for uploading and downloading SAS macro code. SAS programs, and SAS/TOOLKL,-e modules data cleaning, sample 6
37 Joining Data with SQL Kim L. Kolbe Ritzow This paper will discuss the various types of joins avaDable in PROe Sal and how they are performed. It will also compare these methods with traditional SAS code using the MERGE statement. It will illustrate the differences between joining and subquerying data, provide some tips for more efficient joins using PROe Sal, and illustrate some of the more complex joins that can be used in PROe SOL This paper does assume some prior knowledge of PROC Sal's syntax inner join, proc step, cross join, full join, merge statement, right join, where statement, proc sql 6
38 Let Them Build Their Own Reports Allan M. Kominek This paper will discuss an approach to a reporting facility for an activity/document tracking system. The reporting facility grew out of the myriad requests for reports from the tracking system. Rather than having the support group constantly creating new reports or modifying existing ones, the users can build their own reports. The reports are created through a series of interactive screens. The user selects the level of detail required in the report and fills in a number of blanks for subsetting the information. A batch job is created and submitted behind the scenes. The paper will discuss the strengths and shortcomings of the existing reporting facility data cleaning, subsetting if, txt 5
39 MACRO Facility Enhancements for Release 6.11 Jeffrey A. Polzin,
Susan M. O'Connor
This paper summarizes the major changes and enhancements that have been added to the macro facility of the SAS"' System in Release 6.11. These macro enhancements are experimental in Release 6.11. Examples of these enhancements will be given in the paper. Additionally, sample macro examples are available for access using SAS Institute's Intemet gateway macro variable, dataset, macro function, macro definition, macro put, automatic macro variable, call symput, put statement, decimal, macro facility, sas log, error message, sas function, run, user-defined format, character variable, sample, proc format 10
40 Macro Loops from %Do to %End, or, %Don%'t Get &&Loop&ed by Macros Roger Konyndyk The SAS macro language supports do loops analogous to those in data steps: %do **. %end. %do %while (condition), %do %until (condition), and %do i=1 %10 N. Using these loops can make macros very powerful. However, the %'s and &'s of the SAS macro language make loops there more intimidating than those in the DATA STEP. This tutorial will develop examples of the different types of macro loops, and look at the dreaded double ampersand. After working through some examples, this paper will discuss the benefits of macros and give some helpful ideas to follow when writing them. Let's start with a simple example: %do ..* %end. This is pretty much the same as the familiar do ... end of the SAS DATA STEP. Simply put a percent sign in front of the words "do" and "end" to tell the SAS compiler that you have macro code here rather than DATA STEP code. This macro creates a couple title statements, based on an input variable macro variable, macro loop, data step, call symput, macro facility, macro parameter, &variable, macro definition, %if-%then-%else 6
41 Making Inference for Reliability Indices based on Beta Binomial Model with SAS Software Jianli Li When measuring characteristics such as mastery of course, clinical diagnosis or patient satisfaction, the reliability needs to be assessed. The raw agreement index and kappa index are two important indices among the reliability indices. The estimates of these two indices could be obtained based on the distribution which the data follow. This paper discusses the estimation of these reliability indices and their variances based on the beta-binomial distribution so that the inference for the indices could be made. To complete the computation, this paper also discusses an efficient algorithm to obtain the partial derivatives of the univariate and bivariate beta-binomial density functions with respect to their parameters. The results in the computation could be obtained using SAS functions and codes. 1 binomial distribution, proc calis 4
42 Matching Observations on Both Continuous and Categorical Variables: A Simple Application of the FASTCLUS Procedure Manuel S. Lombardero Data analysts in the area of biomedical research often need to match observations from two different data sets according to one or more factors. The data handling capabilities of BASE SASe provide the analyst with flexible tools that facilitate the matching of observations, even when this matching process is complicated by the presence of a large number of matching factors, or by the inclusion of continuous variables among the matching lactors. However, when perfect matches cannot be attained, observations may need to be matched on the basis of how close they are, and not just on whether they are identical. This report presents a SAS macro that finds perfect matches when they exist, and otherwise it finds the closest matches available. This macro relies primarHy on the FASTCLUS procedure which regards observations as points in a mu/U-dimensional space. The use of the macro is Illustrated by means 01 examples, and its strengths and weaknesses are discussed interval variable, proc fastclus, proc step, regression analysis 6
43 More on Using SAS with WWW Larry Hoyle More on Using SAS with www Larry Hoyle Institute for Public Policy and Business Research University of Kansas This "electronic poster session" will demonstrate the use of SAS and httpd to serve up infonnationfor the World Wide Web (l¥WW). Examples will be shownfrom the online version of the Kansas Statistical Abstract. Examples will include the generation of a fonn from SAS insuring that the form correctly reflects the contents of a database. All of the code for the sample application can be accessed on-line starting from the URL: http://statl.cc.ukans.edu/scriptsJippbr/mwsug95/cgisas_mwsug95 The first figure shows an example of a query from the online Kansas Statistical Abstract Historical Archive. It is an HTML3 table showing the number of establishments for the major SIC categories for Douglas County Kansas for 3 years. In this case the list of variables and years is relatively static macro conditional, macro definition, macro variable 6
44 Nothing Can Go Wrong J. Michael Morrill error message, txt 4
45 Object-Oriented Reporting Tools Jennifer Savage This paper describes the reasons for and the development of object-oriented report tools for clinical data. The primary motivations to develop the listlool and sum tool macros are to generate reusable code and, therefore, increase programmer and code efficiency. These macros reduce the amount of coding and debugging time required for each individual listing or summary program and promote standard programming techniques. An additional motivation is the desire to have user friendly standard reporting tools without the limitations of the SAS procedures, such 'as PROC PRINT and PROC REPORT. STATPROBE has developed these macros on a project by project basis to avoid the unwanted inflexibility and restrictions that often accompany over-standardization. To develop these macros, the framework of the DATA _NULL_ as a reporting tool is abstracted from the individual report programs, standardized, and stored in the listtool and sumtool macros clinical data, macro definition, macro loop, %if-%then-%else 3
46 ODBC: Windows to the Outside World S. David Riba,
Elisabeth A. Riba
proc sql, excel 10
47 Persistant Storage of SCL Data Objects Andrew A. Norton audit trail, dataset 5
48 Poster - Frequencies of a Multiple Mention Question Leslie A. Christensen Poster * Frequencies of a Multiple Mention Question Leslie A. Christensen Market Research Analyst Sr. Market Planning & Research The Goodyear Tire & Rubber Company The poster will demonstrate with SAS code and output how a market researcher can handle the problem of calculating percentages of a particular mention on a multiple mention question. These frequencies will be based on the number of respondents in the survey as opposed to the number of responses. The poster will supply code for a macro that can be %INCLUDED into the user's programs and the creation of a global macro variable that eliminates the need for the user to hard code values into his program. Proceedings of MWSUG '95 408 Coder's Corner Posters Poster - Frequencies of a Multiple Mention Question Business Situation Business Problem In a market research survey you have asked a respondent the following question. This type of question is referred to as a multiple mention. Q5 proc freq, macro variable 5
49 PROACTIVE vs. REACTICE SPC Analysis at LTV Steel Paul M. Centric,
Robert J. Scharl
Current Statistical Process Control (SPC) uses historic data to try and correct the process. Control would be impossible when the data is made available for analysis after the product has been produced. A better standard deviation, correlation, proc step, data science, regression analysis 6
50 Producing Standard Tables with a Plethora of Options: A Truly Data-Driven Approach Leslie T. McBrayer In any situation where similar tables are produced on a regular basis, automation of table generation is in order. However, as many programmers can attest, two tables which look similar may in fact require vastly different amounts of processing to produce the results. Some differences between outputs are easily identifiable, such as the titles or which variables to include; other differences are more subtle, such as deleting certain observations based upon varying criteria. These ·hidden" options which would make a table generating system more flexible also make its implementation more challenging. The Data Table Generation (DTG) System, currently under development at Procter & Gamble, handles this challenge by building upon the concept that it is easier to manipulate data than code data step, dataset 6
51 Quality Improvement in SAS Coding: Reducing Defects Linda M. Quinn How much time did you waste debugging your own code only to find a silly error? How much effort did you expend trying to understand another programmer's code only to write your own from scratch? Why not apply Quality Improvement techniques to SAS coding? The simplest concept to implement is the defect chart. Defect - an imperfection that impairs worth or quality. First, I will develop a defect list from my own code, experiences, and horror stories. Once established, I can show how to apply defect lists to improve programming quality and minimize debugging time. When applied to my own code, a defect list helps me to remember what I should or shouldn't be doing and makes debugging my code easier proc step, missing value, regression analysis 8
52 Randomization and Analysis of Body Weights in Rodent Toxicity Studies Jen-Fue Maa data science, anova, mse, randomization, correlation, one-way anova 6
53 Resource Analysis with the TIMELOG System Matthew J. Becker The efficiency of an organization relies on an awareness of the time required to complete different tasks. In turn, the costs of services and products depend on the amount of resources used. To manage time, STATPROBE, Inc. developed, using SAS/AF-, a resource analysis software system called TIMELOG. The system provides employees and managers a number of different reports on resource usage. The reports provide statistics on time use and personnel resources. A quantitative analysis is done to survey and manage the effectiveness of the organization. Each of the reports can be run with data filters keeping only data the user desires. The current reports provided by the system are: Employee activity reports Employee analysis reports Project time analysis reports Actual versus budgeted time analysis The TIMELOG reporting module is written in SASe Version 6.10 running under the IBM OS/2° Version 3 operating system proc report, proc step 5
54 SAS / DB2 Date Compatibility Miriam W. Rosenblatt This paper describes compatibility differences between date information in a SAS dataset and DB2, and provides basic code to standardize these date values. The SASI ACCESS interface to DB2TM documentation does not adequately address date conversion between the two platforms with regard to access and view descriptors. Problems can occur when you match date values in a SAS dataset and a DB2 file. This paper is useful for those who combine SAS data sets with data from SAS and any other relational tables using the SAS I ACCESS interface dataset, date variable, sysdate9 6
55 SAS Data Views: A Virtual View of Data John C. Boling The concept of a SAS data set has been extended or broadened in Version 6 of the SAS System. Two SAS file structures now function as SAS data sets: SAS data files and SAS data views. Both file structures can be processed as SAS data sets in DATA steps or pro cedure steps. This article introduces the concept of a SAS data view, presents its advantages and disad vantages, discusses the three types of SAS data views, and compares its structure and processing with that of a SAS data file. Defining a SAS Data View The SAS data file is already familiar to existing SAS users because it represents what, historically, has been called a SAS data set. For example, 1982 Version SAS data sets and Version 5 SAS data sets are technically referred to now as SAS data files. This is essentially a change in terminology. The new file structure and def inition in Version 6 is the SAS data view. Unlike SAS data files, SAS data views do not con tain actual data Rather, 7
56 SAS Macros for Exact Confidence Limits Richard L. Berg Confidence intervals have a long history and have become an indispensable tool in statistical applications. The computation of confidence intervals for a mean based on normal (large sample) theory is straightforward and readily available in the SAS system through such procedures as PROC ANOV A and PROC GLM. For the case of small samples and non-normal distributions, however, normal theory based confidence intervals may provide a poor approximation to exact sample, binomial distribution, confidence interval, confidence level, sample size, sas function, poisson distribution 6
57 SAS/GRAPH and PROC GREPLAY: The Art of Creating Multiple Plots Per Page Lisa A. Rybicki The GREPLAY procedure in SAS/GRAP~ can be used to create multiple plots per page, or to produce a single plot per page in a specific location on the page. There are four basic steps in this process: create plots and save them in a graphics catalog design a template to specify the location of each plot on the page and save it in a template catalog replay each plot in the desired panel on the template obtain a hard copy of the final product This paper describes the four-step process and provides suggestions and helpful commands throughout. Audience This paper is for SAS users who are able to produce plots using SAS/GRAPH software. For simplicity, the examples are shown using SAS in interactive mode. Outline To illustrate this process, I will generate two plots from PROC GPLOT and a footnote from PROC GSLIDE and save the output in a graphics catalog proc step, proc greplay, proc gplot 7
58 Shewhart Charts with Multiple Phases Robert J. Scharl SAS has an excellent procedure in SAS/OC to easily construct control charts with a single set of control limits. When a process requires muHiple sets of control limits (phases), it requires multiple passes through the data to define all the necessary limits' data sets. When expanded to many process variables, the required SAS code can very quickly become unmanageable. This paper will demonstrate the use of macros to generate a control chart having only one (1) phase to many phases (limited only by the readability of the chart). The out of control points are annotated. Recalculation of the limits' data by eliminating paints when a specified value above or below the control limit is exceeded. A log of all phase changes is maintained. The starting observation for display can be anywhere in any phase. The 'x' axis can be reformatted to various date formats. Problem American business has realized the need for Statistical Process Control (SPC) when the world became a global market macro variable, proc step, macro definition, %if-%then-%else 6
59 Simulation and Bootstrapping in the SAS System: A tutorial using PROC IML Paul A. Thompson Simulation and bootstrapping can both be accomplished readily ill SAS. The basic ideas of simulation and bootstrapping are defined, and they are illustrated with examples from various SAS procedures. The important notions in simulation concern the control of seeds, the generation of data and the construction of matrices to which have certain forms (orthogonal or with specified covariance structures). When defining a simulation, the model for errors must be specified, to ensure that the process of creating errors is an expression of random deviation only. The process of defining a simulation, using SAS PROC IML, is demonstrated. Some important ideas, such as overall control using a control dataset, are also presented. In the bootstrapping discussion, the basic notions are presented. A simple example, presenting the ideas of bootstrapping, is also shown. Finally, the notion of obtaining information from output after redirecting these to files is discussed bootstrap, sample, covariance, correlation, missing value, numeric functions, out=, proc step, response variable, residual, proc iml, regression analysis, macro definition 10
60 SQL Joins - The Long and The Short of It Paul Kent This talk discusses joining tables with PROC SQL. When joining small tables one can just "go with tile defaults" and not worry aboutperfonnance; these defaults do not always scale well to large tables. The issue is clouded even further wilen one or more of tile tables reside in an external DBMS. Understanding the clloices made by the PROC SQL query optimiser helps people decide on a course of action they might embark on to improve the join performance of their queries. This talk presents useful information on tile SQL Query Optimiser, and includes cases studies that demonstrate a "cookbook" sttategy for improving SQL Join performance. Joins The conceptual model of an SQL join is easy to understand. Simply compute all combinations of the rows from the contributing datasets and then eliminate the rows that don't "match" the WHERE clause. This allows users to specify what they want in the SQL query, without becoming overly involved in how to get it proc sql, proc step, create table, where statement, macro variable, cross join, create view, in=, data merging, having, unique key, select 10
61 Start Your Own SASAUTOS Macro Library Mike Bodenstab,
Doug E. Lassman
proc step, proc print, proc sort, autocall macro, macro call, macro definition 6
62 STAT101: A Review of the Basics Judi D. Reine correlation, null hypothesis, sample, pearson correlation, normal distribution, anova, wilcoxon test, standard deviation, proc step, proc anova 5
63 Taking Advantage of Inheritance in SAS/AF Applications Carl R. Haske SAS/AF supplies many predefined classes for use in application development. When developing applications with a high level of complexity, it is inevitable that the application will contain multiple objects with indistinguishable functionality. SAS/AF provides a technique to define new classes that inherit methods from a parent class along with the flexibility to override inherited methods and define new libname statement, dataset 6
64 Taming the Chaos: Standards for SAS Programming Michael Whitney We've probably all seen it: poorly written code with cryptic variables, untested and undocumented monstrosities full of spaghetti code, and other nightmarish programs that should have been locked in a closet instead of being loosed upon the world. What can be done to exorcise these programming demons? A strong set of programming standards that all code must meet! This paper will give an overview of what should be in your standards and discuss documentation, program life cycles, and other topics that will help you tame the programming chaos sample, data dictionary, macro variable, proc step, correlation 10
65 The Data Warehouse Manager: An Implementaion of some organizational ideas in the SAS System Paul A. Thompson The notions of a data warehouse are currently a very hot topic in a variety of areas. The OIlK, an implementation of several notions inherent in data warehousing, uses SAS/ AF control structures to run data warehouses. It uses an extremely sophisticated macro method for updates of master system datasets, an integrated approach to setting data types, an integrated system for data entry, and overall control using sASdata management tools. The system is self-installing and self-removing. It is platform independent, as all machine-dependent details are added using macro constructions. Introd uction The notion of the data warehouse (DW) in the SAS iii) system for data management (SAS) is one in which data is stored in a canonical form (similar in many ways to the basic notion of a SAS dataset) and can be moved out and in from the storage medium with great flexibility. There are some important ideas which are basic to the DW macro variable, dataset 6
66 The Life and Times of a Local SAS Users Group Allan M. Kominek The author of this paper along with two other people assumed the leadership of the Cleveland SAS Users Group in January of 1990. The past five years have been a definite learning experience. This paper will discuss ways that one local group not only kept itself viable, but interesting as well. How Did This Happen? How does one become president of a local users group? I've often asked myself this question when August rolls around, because it's time to think about another year of meetings and that means lining up presentations and scheduling rooms and putting out newsletters. How did this happen? WeILl was just a member before. I was one of those people sitting out there in the audience. Oh, sure I'd given a few presentations. Yeah, I've been accused of liking the sound of my own voice, but at least I got up there. The current leadership of the group confessed to being tired, so they asked for volunteers. As I said I was one of those people out in the audience 5
67 Using PROC PLAN for Randomization Assignments Miriam W. Rosenblatt This tutorial is an introduction to using PROC PLAN, and includes examples of randomization. Although PROC PLAN is not an easy procedure to master, it is extremely useful for doing random assignments. Data handling ideas for using this procedure, such as combining PROC FORMAT with PROC PLAN, allow the user to create formatted reports of random assignment. A user-friendly report can then be used for the preparation of randomization envelopes, thus ensuring that a given randomization plan is implemented accurately randomization, proc step, sample, dataset, proc format 6
68 Using SAS/QC To Automate The "Magnificent Seven" Tools of Quality Roderick Lashley histogram, insurance claims, proc step, sample, proc tabulate 8
69 Using the WHERE Statement Robert Virgile proc step, dataset, where statement, proc freq, sample 5
70 Word Processor Friendly PROC MEANS Type SAS Output using the SAS Macro Facility Laurie Tuason A macro has been developed that circumvents the problem of the inability to use proportionally spaced fonts when importing SAS output into a word processing package. The output from the macro is similar to PROC MEANS type output with the addition of the median, mode, the paired t-test p-value, the Wilcoxon signed rank (WSR) p-value, and the normality p-value. Labels can be used describing the variables, as well as "by" variables with formats. The following statistics and p-values can be requested, and their ordering can be specified by the macro user: n, mean, median, standard deviation, standard error of the mean, min, max, mode, paired Hest p-value, Wilcoxon signed rank p-value and the normality p-value. The macro produces an output file in which spaces between the statistics and p-values within a line have been replaced with single tabs. This file can then easily be imported into most word processing software packages proc step, sas base 5

Back to Conf go 1996 go 1994

This site serves as a convenient hosting location and does not work as a publisher. All copyrights belong to their respective owners.

The information on this site is provided for general reference purposes only. Whilst every effort is made to ensure that the site is up to date and accurate, no warrant, nor any responsibility or liability for, the accuracy or completeness of the content or for any loss which may arise from reliance on information contained in this site is provided. Links to other sites are provided for your convenience but no responsibility or liability for the content of those sites or of any external site which links to this site is accepted. References to any specific commercial product, process, service, or corporation are also for information only, and do not constitute endorsement, recommendation or favoring.

SAS is a registered trademark of SAS Institute Inc. SAS, Statistical Analysis System, 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.