HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

WUSS 2019 Papers - Index

79 papers. Source: WUSS (Western Users of SAS Software) conference proceedings.

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 'Tis Better to Give than Receive: Considerations when Sharing Data Melissa R. Pfeiffer Data exchanges are increasingly common and are critical in propelling advancements in science and industry. However, these exchanges are not always seamless. Issues can arise both when receiving data from others and when distributing data, although the latter is usually easier. The aim of this paper is to provide guidance for both situations. For receiving data, we will discuss the importance of trying to obtain basic information about the data, such as a data dictionary or file layout with information about the field names, types, lengths, and meanings. At a bare minimum, recipients should ask about the number of records expected to confirm what is imported into SAS. We will discuss possible issues that may occur when importing non-SAS data into SAS and solutions. Finally, we will review some checks that can be conducted to confirm that files received are structurally sound. proc step, excel, data dictionary, character variable, proc sql, select, user-defined format, proc contents, proc export, output delivery system, macro variable, dataset source 13
2 20 Years of Success and Failure to Learn From, the Best and Worst Bob J. Hull Through 20+ years of SAS programming I have had my share of tips, tricks, successes and failures. I'm here to share with you some of my favorite Base SAS programming tips and tricks which have helped me. In addition to this I will share professional development tips through the window of my past successes and failures. Communicating appropriately with others is a learned skill that can greatly affect your career. These are the things that you've either already learned or will learn the hard way like I did. For example, what radio station does everybody listen to? WIFM, "What's in it for me?" Talk and write so people know what info they need to get out of the message. sas programming, proc step source 3
3 A Fun (if Snarky) Look at SAS Certification Exams Aaron Brown This discussion presents generic tips for the SAS certification exams, as well as focused advice related to the Base Programmer, Advanced Programmer, Statistical Business Analyst, and Clinical Trials Programmer certifications. It also includes a discussion of why certification can be helpful and meaningful. The overall purpose is to inform SAS programmers of the certifications and encourage them to try for certification. clinical trial, sas programmer, sas syntax, proc sql source 4
4 A Hands-on Introduction to SAS DATA Step Hash Programming Techniques Kirk Paul Lafler SAS users are always interested in learning techniques that will help them improve the performance of table lookup, search, and sort operations. SAS software supports a DATA STEP programming technique known as a hash object to associate a key with one or more values. This presentation introduces what a hash object is, how it works, the syntax required, and simple applications of it use. Essential programming techniques will be illustrated to sort data and search memory-resident data using a simple key to find a single value. hash table, proc transpose, lookup, proc step, sas log, composite key, dataset, proc sort, sas base source 12
5 A HOW on Hashing Russell M. Lavery Hash tables are underutilized, and very fast, techniques developed for table lookup - that now do much more. A key feature of has use is the avoidance of CPU and RAM intensive sorting of data during table "merges". Understanding the behavior, and even the "shape", of this memory resident object can be a bit of a challenge to the typical SAS programmer. This paper, with its cartoon format, endeavors to make this new programming technique more approachable. Hash tables use a new syntax format that is similar to the object oriented syntax of other languages. Hash tables are created in a DATA STEP and exist only as long as that DATA STEP is running. It exists in RAM and are separate from the program data vector. It should be remembered that SAS has hash tables due to the work of Dr. Paul Dorfman and the responsiveness of the people at SAS to user input. hash table, lookup, pdv, sysrc, proc step, proc format, hashing function source 25
6 A Quick Look at Fuzzy Matching Programming Techniques Using SAS Software Kirk Paul Lafler,
Stephen B. Sloan
Data comes in all forms, shapes, sizes and complexities. Stored in files and data sets, SAS users across industries know all too well that data can be, and often is, problematic and plagued with a variety of issues. Two data files can be joined without a problem when they have identifiers with unique values. However, many files do not have unique identifiers, or "keys", and need to be joined by character values, like names or E -mail addresses. These identifiers might be spelled differently, or use different abbreviation or capitalization protocols. proc step, proc sql, character variable, proc sort, sas function, missing value, data cleaning, numeric variable, data transformation, proc format, order by, proc contents, proc print, character functions, proc transpose source 28
7 A Strategy for Dealing with Pinnacle 21 Errors and Warnings Carey G. Smoak Pinnacle 21 is a widely used tool for evaluating SDTM and ADaM datasets that are to be submitted to regulatory authorities (FDA and PMDA) for approval of a drug or biologic product. Pinnacle 21 evaluates these SDTM and ADaM datatsets against published validation rules and produces a spreadsheet listing errors and warnings based on the validation rules. Have you ever wondered how to deal with all the errors and warnings that are found in a Pinnacle 21 report? In this Hands-On-Workshop you will learn a strategy for annotating Pinnacle 21 Reports to help you keep track of the types of errors and warnings that Pinnacle 21 produces. Attendees in this Hands -On-Workshop will learn practical steps for annotating a Pinnacle 21 Report to deal with the types of errors and warnings. clinical trial, data validation rules, data cleaning, cdisc source 2
8 A strategy for speed Dating YuTing Tian Online dating is a growing industry with recent quarterly profits well in excess of millions. The goal of speed dating is to break into this industry by using the power of statistics to optimally match couples. In order to attain this target, we will use a speed dating dataset to generate models to test feasibility of using statistics to match couples. This dataset is an open source on R package. The participants were students at Columbia's graduate and professional schools, recruited by mass email, posted fliers, and fliers handed out by research assistants. Each participant attended one speed dating session, in which they met with a participant of the opposite sex for four minutes. Order and session assignments were randomly determined. After each four minute "speed dating" encounter , participants filled out a form rating their date on scale of 1 to 10 on various attributes. In this paper I use R software to download the dataset package, then use SAS to analyze the data. regression analysis, forward selection, predictor variable, p-value, correlation, null hypothesis, multicollinearity, backward selection, numeric functions, confidence interval, proc reg, condition index, feature selection, outlier source 21
9 Analyzing Factors Influencing Viewer Count of TED Talks through Text Analytics Yasha Pastaria The objective of this research paper is to explore the TED Talk data and generate some insights that others may find helpful when designing their own talk . This process would include understanding the trend of popularity of TED T alks over the years in term s of views, comments and ratings along with exploring possible drivers like occupation of the speaker, duration of the TED Talk, number of speakers etc. The analysis will be useful to consumer s in understanding where TED Talk s are heading over the years with respect to their popularity and identify its drivers. It will ultimately help them design the best TED Talk and avoid the mistakes of the worst ones. scatter plot, proc freq, parsing source 15
10 Are you Ready? Preparing and Planning to Make the Most of your Conference Experience Richann J. Watson Whether you are a first-time conference attendee or an experienced conference attendee, this paper can help you in getting the most out of your conference experience. As long-standing conference attendees and volunteers, we have found that there are some things that people just don't think about when planning their conference attendance. In this paper we will discuss helpful tips such as making the appropriate travel arrangements, what to bring, networking and meeting up with friends and colleagues, and how to prepare for your role at the conference. We will also discuss maintaining a workplace presence with your paying job while at the conference. problem solving, likelihood function source 15
11 Automating a Summary Report of PSM Model and Match Results Desiree Hall When performing propensity score modeling and matching, various output is produced and located in separate reports. As you iterate the process after adjusting the model or match inputs, it is helpful to have the key results in one report for easy comparison with later iterations. This paper demonstrates a method to automate the creation of a report to summarize key results using the ODS output from PROC LOGISTIC and PROC PSMATCH. The intended audience are those with basic familiarity with SAS/STAT software. proc step, logistic distribution, proc logistic, ods output, propensity score, output, logistic regression, regression analysis source 9
12 Automating ADSL Programming Using Pinnacle 21 Specifications Tracy Sherman,
Aakar Shah
Standardization is the most basic pre-requisite to automation, and Pinnacle 21 ADaM Define specifications offer a useful and powerful standard for ADaM documentation. As adoption of Pinnacle 21 ADaM Define specifications increases, so does the opportunity for automation in the creation of ADaM datasets. Pinnacle 21 specifications provide the necessary metadata (variable data source, origin type, assignments, codelists and derivations) for generating SAS code and code templates to create ADaM datasets. This paper will demonstrate how Pinnacle 21 specifications for ADSL can be used to dynamically generate a program for producing an ADSL dataset. Specification guidelines based on origin type will be proposed to help streamline the specification writing process and increase the scope and sophistication possible in generated code. proc format, macro variable, proc step, adam dataset, put statement, data cleaning, file statement, macro call, out=, cdisc source 12
13 Bayesian Nonparametric Clustering in SAS Hend Aljobaily Traditional parametric models use a fixed and finite number of parameters which cannot be used in data mining and machine learning. This is because they may result in the over or under fitting of data due to the complexity of the models used in data mining and machine learning. The Bayesian nonparametric approach is an alternative to the traditional parametric approach. Probabilistic models are appropriate nonparametric models for data mining and machine learning since they are data-driven. One example of a Bayesian nonparametric model is the Dirichlet Process model. The Dirichlet Process model is one of the most popular BNP models. For clustering, the Dirichlet Process in the Gaussian Mixture Model (GMM) is used to find the best number of clusters within the data using the gmm action in the CAS procedure within SAS. It is able to add new clusters and remove existing clusters during the clustering process, thus finding the best number of clusters adaptively. machine learning, dataset, data mining, histogram, covariance, proc step, monte carlo source 9
14 Bespoke outputs, just like everyone else's: using the SAS Macro Language to create template programs for standard presentations of your client's clinical trial data Sean-Paul A. Claypool While the structure and content of the tables, listings, and figures (TLF) used to present clinical trial data are generally established, myriad trial designs and data types collected across studies present resource challenges to contract research organizations (CRO) to "re-invent the wheel" creating standardized outputs for each client's specific data. Leveraging the SAS Macro Language, CROs can mitigate constrained budgets by developing template programs to produce common output types. Using adverse eve nt and laboratory result summary tables as examples, this paper shall illustrate how such template programs may be designed with SAS Macro variables and simple Macro scripts to automate dataset manipulation and output report generation. With a robust library of flexible template programs, CROs can both maximize their resource utilization and deliver quality data products for their clients. macro variable, adverse events, group by, macro facility, proc sql, proc step, macro loop, do loop, system organ class, statistical programmer, clinical trial, create table, treatment arm, macro definition source 9
15 Better to Be Mocked Than Half-Cocked: Data Mocking Methods to Support Functional and Performance Testing of SAS Software Troy Martin Hughes Data m ocking refers to the practice of manufacturing data that can be used in software functional and performance testing, including both load testing and stress testing. Mocked data are not production or "real" data, in that they do not abstract some real-world construct, but are considered to be sufficiently similar (to production data) to demonstrate how software would function and perform in a production environment . Data mocking is commonly employed during software development and testing phases and is especially useful where production data may be sensitive or where it may be infeasible to import production data into a non-production environment. flat file, numeric variable, character variable, dataset, if-then-else, cpu time, key performance indicator, macro definition, sample, proc freq, %if-%then-%else source 17
16 Building Blocks of Beautiful RTF Destination Reports: Using Microsoft Word's Heading,
Debra A. Goldman
Adding layers of organization to reports is a beneficial communication tool, particularly for lengthy reports or for client-programmer relationships where in person meetings are not frequent. One reason SAS users may prefer to use PDF destination over RTF output is the automatic left hand outline of PROCedures in PDFs. These bookmarks make it easy to see what's in the report, to see where one is within the report, and to seamlessly move in between sections. Fortunately for those that want to or be required to have their reports to be in Microsoft Word, the heading feature allows us to create a similar content pane. This pane can be clicked through and tracks where one is in the document as one moves through. In a prior WUSS paper1, I reviewed options for adding Table of Contents and Hyperlinks to one's RTF reports. It also introduced the concept of using RTF code within SAS to make use of Microsoft Word features. proc step, proc template, output delivery system source 7
17 Choosing Wisely: Using the Appropriate Statistical Test for Trend in SAS Christina Park,
Jui-Ting Hsiung,
Melissa Soohoo,
Elani Streja
Tests for trend are an informative and useful tool to examine whether means, medians or proportions of continuous or categorical variables increase or decrease across ordered groups. In clinical and epidemiological research, comparisons of baseline patient characteristics (e.g., demographic, clinical and laboratory data) across ordered levels of the categorized primary exposure are often examined with chi-square or analysis of variance (ANOVA) statistical tests. These latter tests identify the existence of differences in patient characteristics, yet provide little information on trends in the ordered groups. Trend tests provide additional insight into the pattern of the relationship between independent and dependent variables. Multiple methods are available in SAS to evaluate trends of continuous and categorical variables using PROC REG (simple linear regression) and PROC FREQ (Jonckheere-Terpstra, Cochran-Armitage and Cochran-Mantel-Haenszel tests) statements. However, choosing the appropriate statistical test can be a challenge. The choice of tests varies depending on the assumptions about the variable of interest including its type and distribution. Selecting an inappropriate test may lead to incorrect inferences about the trend of the variable across ordered exposure groups. This is important, especially when the results from trend tests may influence which variables are considered as covariates in models of adjustment. In this paper, we aim to (1) describe when to use specific statistical tests to evaluate trends in continuous or categorical variables across ordered groups, and (2) provide examples of SAS codes for trend tests and interpret the resulting output. proc step, response variable, proc freq, nominal variable, interval variable, proc reg, null hypothesis, histogram, regression analysis, simple linear regression, sas base, predictor variable, anova source 10
18 Connecting to Datasets through Python and SAS Joe Matise Python is a powerful tool for working with data, and makes the perfect partner to SAS to process data, particularly data that is obtained from online sources where programmers have developed open source Python code to connect to published APIs. SAS has developed two tools to make working with Python easier for SAS pro grammers, without needing to know nearly any Python - and also made working with SAS easier for Python programmers who do not know SAS! In this paper, we explore these tools, as well as how to use SAS with Jupyter Notebooks, and show how to download some data from a few data sources. This paper is aimed at an intermediate level programmer, but does not require particular SAS or Python knowledge and should be comprehensible to anyone. A basic understanding of using APIs to access data can be helpful but is not required. sas programmer, proc step source 9
19 Counting the Days Until ... Robert Ellsworth The paper covers setting up base SAS to do date calculations based on business days. The paper walks through creating a business day interval and working with intck and intnx to count and increment dates based on business days. if-then-else, macro definition source 7
20 Decision Trees: a Gentle Introduction Richard D. Hector Every car is a vehicle, but not every vehicle is a car. Similarly, classification and regression trees (CART) and decision trees look similar. Both begin with a single node followed by an increasing number of branches. However, they serve different purposes. The purpose of a family automobile is different from that of giant mining truck. This paper is a gentle introduction to decision trees using PROC DTREE. When you need to explore the relationship to factors and an outcome, CART is a useful non-parametric tool. The branching algorithm facilitates moving through the variables in the data to determine their effect on the outcome. In contrast, in decision trees the variables are chosen because the decision maker knows or can infer their effects on the outcome. Also, the decision maker knows or can estimate their distribution among relevant groups. Finally, the result (reward or pay-off) of each pathway is known or can be estimated. proc hpsplit, decision analysis, proc step, in= source 11
21 Doing More with the SGPLOT Procedure Joshua M. Horstman Once you've mastered the fundamentals of using the SGPLOT procedure to generate high -quality graphics, you'll certainly want to delve in to the extensive array of customizations available. This workshop will move beyond the basic techniques covered in the introductory workshop. We'll go through more complex examples such as combining multiple plots, modifying various plot attributes, customizing legends, and adding axis tables. proc sgplot, proc step, group by, scatter plot, box plot, line chart, nominal variable, numeric variable source 18
22 Easy Solutions To %LET You Reduce Repetitive Programming Ekaterina Roudneva Cleaning data and generating reports can sometimes involve using the same pieces of information or code over and over again. This can consist of running similar programs one at a time in a specific sequence or updating multiple macro variables or fields. Related programs might need to import the same exact data resulting in that data being read in multiple times. These approaches are redundant, prone to errors, and can be very time consuming. By using macro variables or recognizing similarities in the code and condensing them into fewer programs, it is possible to increase efficiency and reduce the need for copy and pasting. This paper will go over some techniques that help reduce repetitive tasks by recognizing parts of code that can be condensed. Topics include using %LET and PROC SQL SELECT INTO statements to create macro variables and use them to reference commonly used dates, folder paths, dataset names and variables. macro variable, proc step, proc sql, proc freq, select, macro put, do loop, proc contents, put statement, sashelp, macro definition source 16
23 Everything Is Better with Friends: Executing SAS Code in Python Scripts with SASPy Isaiah Lankham SASPy is a module developed by SAS Institute for the Python programming language, providing an alternative interface to the SAS System. With SASPy, SAS procedures can be executed in Python scripts using Python syntax, and data can be transferred between SAS datasets and their Python DataFrame equivalent. This allows SAS programmers to take advantage of the flexibility of Python for flow control, and Python programmers can incorporate SAS analytics into their scripts. This paper provides several examples of common data-analysis tasks using both regular SAS code and SASPy within a Python script, highlighting important tradeoffs for each and emphasizing the value of being a polyglot programmer fluent in multiple languages. Instructions are also included for replicating these examples with the JupyterLab interface for SAS University Edition, which includes everything needed to try out SASPy. dataset, proc step, macro facility, macro definition, sas studio, sas programming, sas base, ods html, proc iml, proc sql source 20
24 Fifteen Functions to Supercharge Your SAS Code Fifteen Functions,
Joshua M. Horstman
The number of functions included in SAS software has exploded in recent versions, but many of the most amazing and useful functions remain relatively unknown. This paper will discuss such functions and provide examples of their use. Both new and experienced SAS programmers should find something new to add to their toolboxes. anyalpha, if-then-else, character functions, tranwrd function, notalpha, sas programmer, translate, whichn, missing value source 8
25 From Readability to Responsible Risk Management: Facilitating the Automatic Identification and Aggregation of Software Technical Debt within an Organization Through Standardized Commenting in SAS Program Files and SAS Enterprise Guide Project Files Troy Martin Hughes Software readability is greatly improved when programs include descriptive comments in a predictable, standardized format. Program headers that describe software requirements, author, creation date, versioning history, caveats, and other metadata are a common method to facilitate a greater understanding of software objectives, strengths, weaknesses, and prerequisites. Moreover, when program headers are standardized, they are not only more readable to developers but also to parsing algorithms that can automatically extract metadata for analysis or archival. Comments throughout software can also improve its readability and, when constructed in a standardized format , can be parsed automatically and saved in control tables . This text introduces a standardized commenting methodology that enables both qualitative and quantitative comments to be parsed from SAS software headers and body. sas enterprise guide, sas enterprise guide project, macro variable, sample, label statement, data validation rules, quality control, variable, call symput, macro definition, likelihood function, comment, filename statement, data cleaning source 35
26 Fun With The Fun King: The SAS Solution to the Magic Square Frank A. Ferriola My father introduced me to the "Magic Square" as a 3x3 or other odd numbered square in which you could place the integers from 1 to (n*n) and have all rows, across, down and diagonally equal the same number. In 2001, I included the concept of the Magic Square in a presentation at WUSS, and how my father taught me a simple pattern that solved it in seconds. In 2005, I presented the Manual Solution to the Magic Square. In this paper I present the SAS solution to the problem, which will take you through all the rules that get applied to solve for any square that has an odd number of rows and columns. macro variable, macro loop source 10
27 Fuzzy-Matches Made Easy: Designing Shareable SAS Code to Accurately and Efficiently Identify Exact and Close Genetic Matching Tuberculosis Isolates Fuzzy-Matches Made,
Evan Timme
The Tuberculosis Genotyping Information Management System (TB GIMS) is a genetic data source available to public health programs. We attempted to design universally sharable SAS code to efficiently analyze TB GIMS data for the purpose of detecting exact and close matching isolates to an identified active TB case of interest (IATCI). The Arizona TB GIMS extract contains 2,900+ isolates. Coding was designed in base SAS and created for easy adaptability by another health department. Modifiable macro thresholds set inclusion criteria for matches. Conventional assessments require an exact match on one 15-digit number and two 12-character alphanumeric variables. Genetic changes overtime are common and fuzzy-matches would accommodate such changes. Using a simple DO LOOP and SUBSTR function counter, we were able to count the total number of place-value matches in the 15-digit and two 12- character variables for each IATCI to all other isolates. do loop, substr function, character variable, proc sql source 5
28 General, Age-Specific, and Total Fertility Rates in Montana, 2008-2017 Matthew Ringel Fertility rates have been steadily declining in the United States over the past several years, and this trend may have implications for the economy and for other elements of society. Some are concerned as declining fertility rates may be indicative of economic anxiety and could also cause future problems for the economy due to a dwindling number of workers and consumers. Others see this as a positive change because it could indicate higher education and career achievement among women and it could lead to decreased consumption and pollution. Either way, this trend may be of interest to federal, state, and local governments. This paper shows readers how to use SAS to calculate general, age-specific, and total fertility rates and how to use linear regression to test for a significant trend. It uses Montana Birth Data and National Center for Health Statistics (NCHS) Population Data to illustrate the process. estimate, response variable, predictor variable, proc reg, regression analysis, where statement, proc sql source 7
29 Getting the Message Across: Cutting Run Times and Updating Databases with SAS/ACCESS Elise S. Mara When SAS communicates with a database, efficient coding can mean the difference between a few minutes and a few hours! It is often easy to find tips on how to read data into and out of EXCEL spreadsheets, text files, and the like, but for users without experience in database administration or networking, getting SAS to talk to a database may seem like a trickier endeavor. Fortunately, SAS has user-friendly functionality to establish connections, pull data, alter database contents, and take advantage of server resources. This paper will outline how to use ODBC and LIBNAME statements to connect to databases, issue basic SQL procedure commands to perform data selection and manipulation, and craft pass-through queries to have the database server do the heavy lifting for you. proc sql, proc step, dataset, sql server, create table, libname statement, stored procedure, error message, left join, lookup, select, connection string, excel source 11
30 Git'r'done: Using Git in the Production SAS Environment Joe Matise SAS Professionals often need to use version control, such as Git, to manage their programs through the various stages of development and production release. In this talk, we will discuss the different options for using Git with SAS programs, including different ideas of the best way to use Git with different SAS clients and their respective file formats, and whether using the integrated Git functionality in different SAS clients is a good idea or not. This should appeal to SAS developers at all levels who use version control in their daily work, and should not require any particular SAS knowledge. production run, sas programmer source 11
31 Great Time to Learn GTL: A Step-by-Step Approach to Creating the Impossible Richann J. Watson Output Delivery System (ODS) graphics, produced by SAS procedures, are the backbone of the Graph Template Language (GTL). Procedures such as the Statistical Graphics (SG) procedures dynamically generate GTL templates based on the plot requests made through the procedure syntax. For this paper, these templates will be referenced as procedure-driven templates. GTL generates graphs using a template definition that provides extensive control over output formats and appearance. Would you like to learn how to build your own template and make customized graphs and how to create that one highly desired, unique graph that at first glance seems impossible? Then it's a Great Time to Learn GTL! This paper guides you through the GTL fundamentals while walking you through creating a graph that at first glance appears too complex but is truly simple once you understand how to build your own template. proc template, series plot, proc step, sample, scatter plot, missing value source 26
32 Have it Your Way: Using the ODS EXCEL Destination with the DATA step Report Writing Interface Peter J. Lund SAS provides some powerful, flexible tools for creating tabular reports, like PROC REPORT and PROC TABULATE. With the advent of the Output Delivery System (ODS) you have almost total control over how the output from those procedures looks. But, there are still times where you need (or want) just a little more control and that's where the DATA STEP Report Writing Interface can help. The Report Writing Interface (RWI) is just a fancy way of saying you're using the ODSOUT object in a DATA STEP. Method calls on this object allow you to create tables, embed images, add titles and footnotes and more - all from within a DATA STEP, using whatever DATA STEP logic you need. Also, all the style capabilities of ODS are available to you so that your DATA STEP created output can have fonts, sizes, colors, backgrounds and borders to make your report look just like you want. excel, output delivery system, proc step, footnote statement, ods excel, proc template source 21
33 Implementing the Hamiltonian Monte Carlo Sampling algorithm in PROC MCMC Elsa Vazquez Arreola Bayesian statistical methods are widely being used in a variety of fields, such as biomedical research, public health, social sciences and banking, among others. Researchers may fit Bayesian models in SAS using the PROC MCMC procedure. However, default options offered to researchers for sampling algorithms for Markov Chains in this procedure are based on the Metropolis and Metropolis-Hastings sampling methods and can sometimes be inefficient and take a high number of iterations to converge. The Hamiltonian Monte Carlo algorithm is an alternative sampling method that usually converges faster than Metropolis approaches. We show how to use this algorithm in PROC MCMC using the ALG statement and compare its performance with the default option using clustered data to fit a hierarchical logistic regression model. monte carlo, sample, sample size, proc step, regression analysis, logistic regression, posterior probability, proc mixed, mcmc, markov chain, logistic distribution, prior probability, credible interval source 10
34 Interactive Graphs Kriss Harris,
Richann J. Watson
This paper demonstrates how you can use interactive graphics in SAS 9.4 to assess and report your safety data. The interactive visualizations that you will be shown include the adverse event and laboratory results. In addition, you will be shown how to display "details-on-demand" when you hover over a point. Adding interactivity to your graphs will bring your data to life and help improve lives! change from baseline, bar chart, series plot, box plot, adverse events, sample, macro variable, scatter plot, macro loop, by group processing source 24
35 Keyboard Macros! An awesome tool you may have never heard of - once you do, you will never program the same again (It's that amazing!) Steven C. Black Stop cutting and pasting old code into new programs, stop worrying about forgetting or misplacing really neat code, let SAS remember it for you! This can be done quickly and easily through Keyboard Macros! The term Keyboard macro is a mild misnomer as they are not really macros or at least not in the way that most SAS programmers think of macros. They should really be called Keyboard Shortcuts or Keyboard Awesomeness. As these allow you to bring back all that awesome code you wrote. The title of the paper may be an exaggeration but I have found these to really speed up my programming. In this paper I will demonstrate how to create, use, and transfer keyboard macros. I will also discuss a few of the more in - depth aspects of Keyboard Macros with the intent that the reader will use and make them a part of their programming repertoire. proc step, proc freq source 6
36 LaTeX And SAS For Creating And Assembling Data Monitoring Committee Reports Adam Omidpanah Data Monitoring Committees (DMCs) periodically review unblinded clinical data to assess the safety and conduct of clinical trials. The Reporting Statistician is a non-voting, unblinded, independent party who receives study data and randomization information and generates a DMC report. In addition to ensuring the DMC report is correct, the Reporting Statistician must assure that the report is easily interpretable. This paper focuses on integrating SAS With LaTeX for DMC report generation. ods pdf, macro definition source 5
37 Like, Learn to Love SAS Like Louise S. Hadden How do I like SAS? Let me count the ways.... There are numerous instances where LIKE or LIKE statements can be used in SAS - and all of them are useful. This paper will walk through such uses of LIKE as: searches and joins with that smooth LIKE operator (and the NOT LIKE operator); the SOUNDS LIKE operator; using the LIKE condition to perform pattern-matching and create variables in PROC SQL; and PROC SQL CREATE TABLE LIKE. proc sql, proc step, create table, where statement source 7
38 Limit of Detection (LoD) Estimation Using Maximum Likelihood from (Hit) Rate Data: The LoD_MLE SAS Macro Jesse Albert Canchola,
Jeffrey E. Vaks,
Shaowu Tang
The Limit of Detection (LoD) is defined as the lowest concentration or amount of material, target or analyte that is consistently detectable (for PCR quantitative studies , in at least 95% of the samples tested )1. In practice, the estimation of the LoD uses a parametric curve fit to a se t of panel member (PM1, PM2, PM3, etc.) data where the responses are binary. Typically, the parametric curve fit to the percent detection levels takes on the form of a probit or logistic distribution. The LoD_Est SAS Macro (Canchola & Hemyari, SAS Global Forum 2016) , using the SAS PROBIT procedure as the main engine, is used to fit such a parametric curves (Vaks, 2017 and 2018) . The rarely used but preferred method uses the method of maximum likelihood (ML) to estimate the LoD assuming one detectable copy of template. We introduce the LOD_MLE SAS macro that maximizes the log likelih ood function and returns the ML estimate (MLE) of the LoD along with its 95% confidence interval (CI). likelihood function, macro definition, confidence interval, maximum likelihood estimation, sample source 11
39 LOAN DEFAULT PREDICTION Amarjeet Cheema,
Miriam McGaugh
Interest on loans and associated fees are some of the biggest revenue sources for most banks and credit unions. More than 44 million borrowers collectively owe about $3.5 trillion in total outstanding consumer credit As of October 2015. However, more than 1 million people default on loans each year. A report from The Urban Institute, a non-profit research institute, found that nearly 40% of borrowers are expected to default on their student loans by 2023. Considering the magnitude of risk and financial loss involved, it is essential for banks to give loans to credible applicants who are highly likely to pay back the loan amount. The objective of my project is to assess the likelihood of loan default based on customer demographics and financial data. Furthermore, as an outcome of this project we found the most significant variables that contribute to determining loan default. The project will also categorize loan type based on highest risk of default. missing value, default, imputation source 8
40 Measuring Test-Retest Reliability: The Intraclass Kappa Dennis G. Fisher,
Grace L. Reynolds,
Eric Neri,
Arthur M. Noda,
Helena Chmura Kraemer
Anyone using structured interview, or questionnaire instruments must establish the psychometric properties of their instrument (i.e. reliability and validity). The first property which must be established is reliability, because one cannot have a valid measure unless the measure has sufficient reliability. When the response data are dichotomous (Yes/No, Presence/Absence, Positive/Negative etc.) the most common measure in the literature is Cohen's kappa (Cohen, 1960). This measure is appropriate for interrater reliability in which the responses from two different raters are assessed for agreement. However, many reliability studies have data from the same rater at two different points in time. This is known as intrarater reliability or test-retest reliability. Cohen's kappa "forgives" rater bias which is not desirable for a measure that is used in test-retest reliability assessment. The correct statistic to use is the Intraclass kappa (Kraemer, Periyakoil, & Noda, 2002). cohen's kappa, bootstrap, macro definition, correlation, confidence interval source 9
41 Merge with Caution: How to Avoid Common Problems when Combining SAS Datasets Joshua M. Horstman Although merging is one of the most frequently performed operations when manipulating SAS datasets, there are many problems which can occur, some of which can be rather subtle. This paper examines several common issues, provides examples to illustrate what can go wrong and why, and discusses best practices to avoid unintended consequences when merging. merge statement, by group processing, in=, out=, set statement, dataset, if-then-else, subsetting if, sas log, pdv, proc sql, length statement source 16
42 Modern Data Visualization and Presentation: for SAS users Jay Ahn Today's business environment has become increasingly unpredictable, characterized by Volatility, Uncertainty, Complexity and Ambiguousness (VUCA), especially after the financial crisis in 2009, due to accelerating, continuous innovations in our environment. As results, we often misread trends that have a modest beginning but have an exponential growth path in the long run. Fortunately, we have more data than ever to help us in making better decisions in the new VUCA world. In fact, data is like coming through a fire hose every day and we need to be able to find meanings in this sea of information quickly and communicate them using a powerful data visualization that is easy to understand and leaves a lasting impact on viewers. Therefore, in this paper, I will show a modern data visualization and presentation, utilizing HTML5 and SAS. Visualizing data meaning into something people can see will be most effective way of communicating and sharing the meaning. data visualization, sample, dataset, bar chart, macro definition source 9
43 Multi-Way (more than two) Splits In Decision Trees Russell M. Lavery Decision trees are no longer new tools of Data Scientists and are frequently used to split people into binary groups (two way splits). However SAS Enterprise Miner has the ability to create decision trees that split into more than two levels. This can be very useful if an analyst is trying to assign observations into more than two groups. This paper uses examples to explore this powerful feature (multi-way splits) of SAS Enterprise Miner to predict both n-way categorical variables and continuous variables proc hpsplit, nominal variable, data mining source 8
44 One Boy's Dream: Hitting a Homerun in the Bottom of the Ninth Inning Carey G. Smoak One boys' dream of hitting a homerun in the bottom of the ninth inning has been realized in my career. My career started our as an epidemiologist in academia. My SAS skills were pretty basic back then. My SAS skills advanced tremendously as I transitioned to working as a statistical SAS programmer in the pharmaceutical and medical device industries. My career has been varied from strictly working as a statistical SAS programmer to managing statistical SAS programmer. My interest in statistics began with my interest in baseball. Little did I realize that my interest in statistics as a teenager would lead to a fulfilling career and, thus, fulfill my childhood dream. sas programmer, statistical programmer, clinical trial, clinical programming, macro facility, regression analysis, adverse events source 5
45 Order, Order! Four Ways to Reorder Your Variables, Ranked by Elegance and Efficiency Louise S. Hadden SAS practitioners are frequently required to present variables in an output data file in a particular order, or standards may require variables in a production data file to be in a particular order. This paper and presentation offer several methods for reordering variables in a data file, encompassing both DATA STEP and procedural methods. Relative efficiency and elegance of the solutions will be discussed. dataset, proc sql, proc step, length statement, proc contents, array, attrib statement, sample, retain source 20
46 Ordinal vs. Multinomial: Does Model Selection Make a Difference? Corey Leadbeater Regression modeling, a foundational component of data analysis and machine learning, is one of the most highly sought-after skills by employers seeking new data scientists.1 While most data science curricula tend to include regression modeling techniques, the conceptual nuances between theoretical and practical applications can be nebulous. In this paper we use SAS 9.4 software and the ICPSR 2016 Monitoring Futures Survey to demonstrate the utility and effects of model selection on context. That is, the ability of the model to properly communicate the users intended information. A cross-sectional secondary analysis using Pearson's Chi-Square test statistic for independence was conducted on the 2016 Monitoring Futures Study dataset to determine the association between "behavior risk" (v7335) and each of the three predictor variables, "parental communication" (v7254), "time spent alone after school" (loner) and student letter grades (v7221) regression analysis, feature selection, odds ratio, logistic regression, logistic distribution, response variable, chi-square test, missing value, class variable, ordinal logistic regression, likelihood function, predictor variable source 14
47 PARSING: Using SAS When the Data Are Hiding in a Non-Standard Format Andrew T. Kuligowski Sequential files? Spreadsheets? Databases? There are numerous tutorials that instruct the SAS user in techniques to extract data from standard sources. Sometimes, however, the desire d data is hidden inside a non-standard source; information may be found within the flow of a text document, for example. This presentation will address some techniques that can be used when not dealing with cleanly formatted data, through use of an exampl e where data are found within a free -form text file. It wi ll deal with identifying what can be considered useful data and what can be discarded, then tackle techniques to extract the data for further analysis, reporting, or whatever is the desired end result. NOTE: Work continues on this Hands-On Workshop as of the deadline for inclusion in the Proceedings. input statement, named input, proc print, proc step, conditional do loop, index, sas log, sample, sas base, character functions, cpu time, end source 16
48 People Keep ASCIIng Me About These Characters Dan Konkler,
Rebecca Bowermaster,
Stephanie Ann Sanchez
Every programmer has run into an issue at least once that was caused by the presence of a control character or extended ASCII character in their dataset. You get extra records in your dataset because there's a line feed character within a CSV field. Your EXCEL output has "unreadable content" because your data contain "<, >, or &". Something went wrong in your RTF file when your trusty escape character wound up in your dataset. Your fancy validation program that reads in the production output for programmatic comparison fails because it can't process the extended ASCII or control characters. These issues can cause hours of time lost to searching for the problematic character. In this paper, we present two macros that can quickly identify potentially problematic characters in your dataset library and point you to the specific records and fields that need your attention. out=, character functions, data wrangling, %if-%then-%else source 20
49 Pipe it! Extract it! Build it! Smitha Krishnamurthy,
Sofia Shamas
A process improvement tool developed using FILENAME statement with PIPE option in SAS to create study related validation tracker with key information captured from individual SAS program headers within a folder. The validation tracker is an EXCEL document with hyperlinks to the actual RTF output and serves as a guideline for the developer and the validator during validation. Additionally, this macro creates a validation issue document in EXCEL where we verify accuracy of the program header by comparing details of the RTF outputs listed against the actual outputs created. This macro does require the user to follow a standard header structure across all codes and execute it as a batch process. The use of PIPE option limits the code use with SAS Enterprise Guide. Macro was run in SAS 9.4. ods rtf, data cleaning, dataset, filename statement, macro variable, excel, macro call, sas enterprise guide source 7
50 Polynomial Regression for Modeling Curvilinear Data: A Biological Example Elisha Johnston This paper provides an introduction to polynomial regression, which is useful for analyzing curvilinear data. I illustrate the power of the procedure with biological data simulated from my science fair research. I demonstrate an easy-to-implement approach for overcoming an issue common in polynomial regression, namely multicollinearity. I discuss a common criticism of polynomial regression (overfitting) and suggest as an alternative greater exploration of the interplay between substantive theory and statistical modeling. I write this paper as an introduction to the basics of polynomial regression for SAS programmers who are comfortable with multiple regression. polynomial regression, regression analysis, predictor variable, response variable, proc step, feature selection, dose, missing value, proc reg, r-squared, correlation, proc univariate, sas output, scatter plot, sample source 20
51 Principles of Automation Robert Ellsworth This paper discusses the basic principles to automate base SAS programs. The paper describes how automation is achieved by using no manual code changes, programmatically populating output, scheduling, process run control, validating inputs, validating results, email notification, restartability, and using standard code. excel, macro variable, %if-%then-%else, where statement, macro flow control, proc step, xls, data cleaning, proc export, proc sql, macro definition, proc freq source 14
52 PROC DTREE VS PROC HPSPLIT YuTing Tian Regression and classification trees are methods for analyzing how a dependent variable is correlated with independent variables. PROC HPSPLIT and PROC DTREE can both create decision trees that look similar. Both begin with a single node followed by increased number of leaves. However, they focus on a different purpose. This paper is a preliminary introduction to the differences between PROC HPSPLIT and PROC DTREE. proc step, proc hpsplit, in=, regression analysis, response variable, predictor variable source 19
53 Python and R made easy for the SAS Programmer Janet J. Li Many of the day-to-day tasks and responsibilities of the statistical programmer of a pharmaceutical research and development group or contract research organization (CRO) involved include importing/exporting data, deriving variables and creating analysis data sets, and creating clinical s tudy report (CSR) materials such as tables, listings, and figures (TLFs). These outputs are used for submission to regulatory agencies and are generally programmed in SAS. There is a growing movement and acceptance towards using Python and R in the Clinical SAS programming world. In our paper, we explore tips and tricks on how to use Python and R in conjunction with SAS to more effectively and efficiently deliver statistical programming outputs. clinical sas, sas programmer, statistical programmer, clinical programming source 5
54 Python applications in SAS programming for medical device clinical trial studies Jianlin Li As statistical analysts supporting global medical device regulatory submissions, we routinely deal with requests to generate SAS Table, Figure, and Listing (TFL) in English and the local language, e.g. Chinese or Japanese. We also need to prepare batch files to execute SAS codes to increase programming efficiency. File folder cloning and SAS source code searching and replacement in bulk are also necessary steps for many reporting activities. Text processing is common to many of daily tasks like what are mentioned above. As a modern general purpose and high-level programming language, python is very powerful, especially in manipulating text data. In this paper, we present a few python applications to improve efficiency and accuracy in SAS programming work: (1) Generic Unicode conversion and handling in SAS programs to support non-English languages; (2) SAS dataset program and SAS TFL program execution batch file generation; (3) Structured folder generation. macro definition, sas programmer, regulatory reporting, txt, sas programming, clinical trial, regulatory submission source 7
55 Quote the SASLOG Andrew T. Kuligowski "For every action, there is an equal and opposite reaction." Sir Isaac Newton was talking about physics, but the concept also applies to other areas of life - including quotation marks in SAS code. Unfortunately, SAS coders do not always properly provide balanced quotation marks while coding. SAS will detect possible occurrences of this problem, signaling its concern with a SASLOG message: WARNING: The quoted string currently being processed has become more than 262 characters long. You might have unbalanced quotation marks. This presentation contains a few coding suggestions to identify unbalanced quotation marks in SAS code. macro definition, sas base source 6
56 Root Cause Analysis Using Pinnacle 21 Validation Reports: How to Improve End-to-End Programming Process Aakar Shah,
Tracy Sherman
As reviewers adjudicate Pinnacle 21 validation reports to address the quality of submission activities, further analysis can uncover underlying process-related issues which cause those findings in the first place. Even a single Pinnacle 21 validation report can identify underlying shortcomings. However, if you are part of large pharmaceutical company or have access to a large number of Pinnacle 21 validation reports, it can help you analyze various trends and improve all aspects of the current programming process. In this paper, we will discuss how to analyze Pinnacle 21 validation reports, categorize findings in various buckets such as Data Collection and Cleaning, SDTM Process, ADaM Process, e-Submission Process, Internal Stakeholder Management and External Stakeholder Management, and how to subsequently use root cause analysis to find and address end-to-end programming process improvement. data cleaning, root cause analysis, clinical programming, sample, clinical research, cdisc source 13
57 SAS to Excel: ODS Tagsets to Hundred Files or Hundred Tabs Abdus Shahid This paper will present methods of outputting dozens or hundreds of tables to an EXCEL workbook as tabs or to hundreds EXCEL files with the use of ODS TAGSETS that comes with a table of contents. All the formatting for the tables are done with SAS codes, so that little or no manual formatting is needed once the final output is opened in EXCEL. The method described is especially useful when a large number of tables are needed to be complied in one EXCEL workbook. Some knowledge of Base SAS coding and XML output is required to fully utilize this process. excel, proc tabulate, proc step source 6
58 Saving and Restoring Startup (Initialized) SAS System Options Kirk Paul Lafler Processing requirements sometimes require the saving (and restoration) of SAS System options at strategic points during a program's execution cycle. This paper and presentation illustrates the process of using the OPTIONS, OPTSAVE, and OPTLOAD procedures to perform the following operations: Display portable and host-specific SAS System options and their settings; Display restricted SAS System options; Display SAS System options that can be restricted; Display information about SAS System option groups; Display a list of SAS System options that belong to a specific group; Display a list of SAS System options that can be saved; Save startup SAS System options; Restore startup SAS System options, when needed. options statement, sas log, proc options, dataset source 6
59 Should You Move Your SAS Into the Cloud? Paul Janssen Some people should not move their SAS 9.4 into the cloud, and those who do, may run into difficulties. IT departments and consulting firms are learning cloud technology on the fly. Improper installations may cause SAS to run at one third of the speed it could run compared to on-premises.1 Furthermore, cloud technology can be expensive, and may cost hundreds of thousands of dollars per year more for a very large install, compared to keeping your SAS on-premises. This paper was written for SAS programmers and IT departments alike. You want to move your SAS 9.4 installation into the cloud, and do it right… the first time! Choosing the most appropriate cloud compute instance type and size, and designing a proper cloud storage configuration can be challenging; done incorrectly, you will have a sub-standard or poorly performing SAS installation, resulting in a competitive disadvantage for your organization and frustrating your SAS users. sas viya, cloud storage, service provider, sas enterprise guide, grid computing, dataset source 20
60 Simple Steps for Great Graphics: Beyond the Default Settings for More Effective Data Visualization Simple Steps,
Kristi Busico Metzger
Graphs are an efficient way to present large quantities of data. The human brain is able to recognize patterns in pictures more easily than numbers or text. In oral presentations and written reports, researchers often use graphic displays of data to help tell the story of their research. Data visualization expert Stephanie Evergreen has cited that the default settings in statistical software packages are one of the biggest obstacles to effective data visualization. Features of better graphics, such as more white space, clean lines, and judicious use of color, are not automatic with the default settings in SAS. A few extra lines of code in your graphing programs can easily produce more effective data visualization graphics. Maximize white space by reducing clutter, such as by eliminating borders and removing default text like titles and labels. The graph axes can be streamlined by using appropriate ranges, intervals, and scales. data visualization, proc template, proc step source 8
61 Spec to Code in Seconds: Use Microsoft Excel for Repetitive Code Writing Pinky Anandani Dutta The role of a SAS programmer in the Pharmaceutical industry has become very versatile over the years. SAS programmers are no longer just coding using SAS but also performing many other functions including writing programming specifications, annotating Case Report Forms (CRF) and mocks shells, preparing documents for a New Drug Application (NDA), etc. As such, knowledge of robotic features in other tools and editors can come in very handy. One such tool is Microsoft EXCEL, which is relatively easy to learn and widely used already. This paper will discuss how programming specifications that require repetitive code can be transformed into SAS code in seconds by taking advantage of different functions in EXCEL. This paper assumes that readers have a working knowledge of Microsoft EXCEL and Clinical programming in SAS. excel, macro call, if-then-else, clinical programming, label statement, clinical trial source 5
62 Statistical Power Calculations Using SAS Software Russell M. Lavery The term "statistical power" is a shorthand for "the power of a statistical test to detect a change in Y" but many books only use the phrase "statistical power" without any explanation/expansion of the term. Only using the phrase "statistical power" makes learning the topic more difficult. Calculation of "the power of a test to detect a change in Y" is tremendously important in research effectiveness and is directly tied to the cost of doing research. The topic is considered to be difficult and learning how to handle the many types of statistical power calculations is, to some extent, requires an overview of all of the statistics courses you've ever taken. SAS has done much to make the calculation of statistical power fast and easy. The first section of this paper will be a review of the concepts, and theory, of statistical power. In order to illustrate principles of statistical power we will use only one statistical test - a test to detect a change in the mean of a variable. power analysis, sample, sample size, proc step, effect size, proc power, data science, logistic distribution, proc glmpower, proc glm, proc genmod source 18
63 Stay Ahead of the Curve: How to implement New FDA Recommendation Study Data Standardization Plan (SDSP) in your organization? Stay Ahead,
Aakar Shah
The Study Data Standardization Plan (SDSP) is a living document and assists the Food and Drug Administration (FDA) in identifying potential data standardization issues early in the development program. As the FDA has begun to request sponsors to provide a SDSP, it may not be that long until this new FDA recommendation becomes a new FDA requirement. Initial recommendations have been provided through a PhUse sponsored limited duration team. We have taken these recommendations and expanded the tools and process necessary to help the sponsor implement the SDSP within their organization. clinical programming, clinical research, data standard source 10
64 Telecom Industry: Customer Churn Prediction Aakash Dwivedi Nowadays, the telecom industry faces fierce competition in satisfying its customers. With the advent of newer technology, the services offered by telecom companies have increased from being only calls to calls, data and web services. This means a constant struggle to strike a perfect balance among services and pricing of these services. In order to survive this market, telecom companies need to innovate, offer better services and increase their customer base. With newer companies entering the market and increasing freedom of customers to switch telecom companies, it's now becoming increasingly important to focus resources in retaining existing customers. According to an article in Harvard Business Review (Gallo, 2014), it was determined that the cost of acquiring a customer is five to twenty-five times more than retaining an existing one. Furthermore, by increasing retention by five percent can lead to an increase in profits by twenty-five to ninety-five percent. proc hpsplit, churn, neural network, feature importance, churn prediction, regression analysis source 7
65 Tips for Correctly and Efficiently Comparing Two Files in SAS Aaron Brown This paper gives some tips for correctly and efficiently comparing two data files via SAS programs, not just to locate if discrepancies exist but where they exist. This can be helpful if you need to compare two different versions of a file. The tips include thoughts on different methods of readin g data into SAS, then code examples for the COMPARE and SQL procedure to compare the datasets. proc step, proc compare, proc sql, proc import, txt, excel source 8
66 Tips for the lazy typist (and other strategies for smart coding) Melissa R. Pfeiffer Time and experience are your best tools for developing your SAS coding prowess; experience includes both working on a variety of tasks and working with different programmers . Through our combined 40 years working with SAS, we have worked on a wide assortment of projects with different data management needs and collaborators. Through these experiences we have learned to employ techniques that reduce the likelihood of introducing errors into our coding, help identify errors when they do appear, and generally make our programming lives easier. These tips include strategies for dealing with a growing number of user-defined formats, employing keyboard macros and %INCLUDE statements for commonly used code, establishing standardized naming conventions, using arrays and DO loops to cut down on coding, and cleaning up our "WORK" space. We all become better programmers when we share tips and strategies; our hope is that the suggestions we share expand your programming repertoire. user-defined format, excel, do over, do loop, where statement, retain, character variable, array source 10
67 Transporting Your SAS Content to SAS Communities and Integrating Your Content into GitHub Louise S. Hadden As of January 1, 2018, SasCommunity.Org was set to "read-only". This meant that the 9, 514 users with 2,688,280 views on the wiki-based site need to find a new home for their content. Although the site is still available for now - even e-archives are ephemeral. Some of the older SAS collaboration tools are still relevant, and some have drifted into obscurity. I began moving my content to SAS communities in 2018 to try and preserve some of my personal history - and discovered a few things along the way. This paper and presentation will serve as a "how to" for introducing new content and moving old content to SAS Communities and SAS's GitHub. sas studio, sample, sas enterprise guide source 12
68 User-Defined Multithreading with the SAS DS2 Procedure: Performance Testing DS2 Against Functionally Equivalent DATA Steps Troy Martin Hughes The DATA STEP 2 (DS2) procedure affords the first opportunity for developers to build custom, multithreaded processes in Base SAS. Multithreaded processing debuted in SAS 9, when built -in procedures such as SORT, SQL, and MEANS were threaded to reduce runtime. Despite this advancement, and in contrast with languages such as Java and Python, SAS 9 still did not provide developers the ability to create user-defined multithreaded processes. This limitation was overcome in SAS 9.4 with the introduction of the DS2 procedure-a threaded, object -oriented ve rsion of the DATA STEP. However, because DS2 relies on methods and packages (neither of which have been previously available in Base SAS), both DS2 instruction and literature has predominantly fixated on these object -oriented programming (OOP) aspects of t he language rather than DS2 multithreading. cpu time, if-then-else, proc freq, automatic variable source 25
69 Using convergence status in a macro to iterate through a series of models Kristi Busico Metzger Some analyses require running a series of models with the same specifications but with different outcomes. In epidemiologic analyses, we often want to record the results of a crude model (i.e., one with no covariates) and an adjusted model (i.e., one that includes covariates). In these situations, it can be helpful to construct a macro to loop through both the crude and adjusted models and then output the results into data sets using ODS OUTPUT statements. For analyses in which there is potential for an iterative model to not converge (such as for rarer outcomes), it is helpful to also output the convergence status. The convergence status can be used within a macro to automatically direct the analytic process through the desired analyses if convergence is attained or to alternative options if it is not. proc sql, proc step, macro loop, do loop, macro parameter, response variable, ods output, %if-%then-%else, poisson distribution source 8
70 Using Factor Analysis and Multivariate Analysis of Variance to Explore Academic Achievement in the 2016 Monitoring the Future Study Stefanie N. Kairs The 2016 Monitoring the Future survey is part of an annual, long-term study of American adolescents and adult high school graduates conducted by the University of Michigan's Institute for Social Research. This secondary data analysis uses the FACTOR procedure in the SASTM Studio software to perform factor analysis to extract latent structures describing academic achievement, environment, and student delinquency. 17,719 observations were used to perform multivariate analysis of variance via the GLM procedure to explore the relationships between the extracted factors and demographic variables for ethnicity, gender, and population density. The SAS Code and results are presented, along with a discussion of the necessary data cleaning steps, data quality assessment and post-hoc analyses. manova, anova, factor analysis, missing value, multivariate analysis source 19
71 USING JUPYTER TO TAKE YOUR DATA SCIENCE WORKFLOW TO THE NEXT LEVEL Hunter Glanz From state-of-the-art research to routine analytics, the Jupyter Notebook offers an unprecedented reporting medium. Historically, tables, graphics, and other types of output had to be created separately and then integrated into a report piece by piece, amidst the drafting of text. The Jupyter Notebook interface enables you to create code cells and markdown cells in any arrangement. Markdown cells allow all typical formatting. Code cells can run code in the document. As a result, report creation happens naturally and in a completely reproducible way. Handing a colleague a Jupyter Notebook file to be re-run or revised is much easier and simpler for them than passing along, at a minimum, two files:one for the code and one for the text. Traditional reports become dynamic documents that include both text and living SAS code that is run during document creation. With the SAS kernel for Jupyter, you have the power to create these computational narratives and much more! data science, sas log, sas studio, txt source 12
72 Using SAS to enhance data sharing across REDCap projects: Reducing errors, streamlining management, and improving quality Rachel K. Myers With the increasing use of web-based data collection tools and systems, such as the widely used REDCap (Research Electronic Data Capture), there are opportunities to enhance our approach to data management, particularly related to data sharing across databases, projects, or research teams. In situations requiring data sharing across studies or the need to restrict data access to maintain blinding to treatment assignment, research teams often establish multiple project databases with different user permissions to share or restrict access to selected data elements. For on-going, prospective data sharing, teams commonly rely on manual export and import of data files, which can be burdensome, time intensive, require careful attention to file formatting, and be error prone. data governance, dataset, proc step, proc http, audit trail source 12
73 Using SAS Visual Analytics to Effectively Visualize Health Care Data Scott P. Leslie Health-care professionals who can successfully curate data assets into data insights can realize benefits such as reduced costs, healthier patients and higher satisfaction rates. Some insights are discovered by comparing your data to national benchmarks while others are found dissecting your data using a different viewpoint or approach. Using SAS Visual Analytics we demonstrate how to effectively visualize data related to health plan quality performance metrics and providing users the power and flexibly to allow for enhanced inferences about their data. Visualization enables decision makers and data analysts to leverage data to uncover new associations, engage users, and communicate their messages more effectively. sas programmer, data visualization source 5
74 Validate the validated: A python script for study leads to review clinical outputs Varaprasad Ilapogu Datasets and statistical outputs produced by clinical SAS programming teams in the pharmaceutical industry are often validated individually by parallel programming prior to submission to other teams (e.g. Statistics and Medical Writing). This process leaves out the cross-checking of outputs against other outputs that may have similar information presented. For example, the population size of each treatment group in a study is presented in many of the outputs, yet there is often not a programmatic process in place to check whether the population sizes match across the different statistical outputs. We have developed a python script that addresses checking information across statistical outputs. The script extracts commonalities from each statistical output (e.g. individual tables and figures in Rich Text Format (RTF)) and presents the relevant information in a single, easily accessible document (e.g. an EXCEL spreadsheet) to help facilitate the cross-checking of this information. data cleaning, proc report, proc step, clinical trial, excel, analysis set, clinical sas, pharmaceutical industry, proc freq, adverse events source 6
75 Variable Selection Using Random Forests in SAS Denis Nyongesa Random forest is an increasingly used statistical method for classification and regression. It was introduced by Leo Breiman in 2001. A good prediction model begins with a great feature selection process. This paper proposes the ways of selecting important variables to be included in the model using random forest. The variables to be included in the model will be indexed or ranked according to the score of importance of each variable. proc hpforest, sample, feature importance, feature selection, correlation, regression analysis, logistic regression, predictor variable, response variable, logistic distribution, data cleaning source 11
76 Who Do We Need To Follow-Up With? Developing A Process To Track Study Response Rates Vincent Chan Low response rates are often a challenge in randomized control trials that bases an outcome measure off data collected through a survey or other forms. In this paper, we go over the process of developing a SAS program to create response rate reports in the context of an evaluation of a teacher professional development program. In this education study, a literacy assessment is hosted online by a testing company, but the project team needs to continually follow-up with participating teachers to ensure their students take the assessment during the testing window. Each week and sometimes ad-hoc, the team (nonprogrammers) requires a generated report to check on test response rates calculated at the treatment, course, teacher, school, and district level. This report is used to determine whether additional follow-up is needed, and if a certain course has reached for an acceptable percentage of completed assessments. excel, proc sql source 6
77 Working with Sparse Matrices in SAS Andrew T. Kuligowski,
Lisa A. Mendez
For the past couple of years, it seems that "Big Data" has been a buzzword in the industry. We have more and more data coming in from more and more places, and it is our job to figure out how best to handle it. One way to attempt to organize data is with arrays - but what do you do when the array you are attempting to populate is so large that it cannot be handled in memory. In addition, how do you handle a large array when most of the elements are missing? This paper deals with the concept of a Sparse Matrix - that is, a large array with relatively few actual elements. We will address methods such a construct be handled while keeping memory, CPU, clock, and programmer time to their respective minimums. Note that the material presented is a conceptual introduction, aimed at the Base SAS programmer. Readers who are interested in more advanced areas of the topic - for example, the use of SAS/IML, for "Interactive Matrix Language" - are encouraged to check other papers on the subject. sample, proc iml source 9
78 Writing Code With Your Data: Basics of Data-Driven Programming Techniques Joe Matise In this paper aimed at SAS programmers who have limited experience with DATA STEP programming, we discuss the basics of Data-Driven Programming, first by defining Data-Driven Programming, and then by showing several easy to learn techniques to get a novice or intermediate programme r started using Data- Driven Programming in their own work. We discuss using PROC SQL SELECT INTO to push information into macro variables; PROC CONTENTS and the dictionary tables to query metadata; using an external file to drive logic; and generating and applying formats and labels automatically. Prior to reading this paper, programmers should be familiar with the basics of the DATA STEP; should be able to import data from external files; basic understanding of formats and variable labels; and should be aware of both what a macro variable is and what a macro is. Knowledge of macro programming is not a prerequisite for understanding this paper's concepts. proc step, macro variable, proc sql, sas programmer source 9
79 Writing to excel from SAS, DDE vs ODS Robert Ellsworth This paper will demonstrate 4 methods for populating EXCEL report. The paper will compare methods using DDE versus writing CSV and using EXCEL macros versus SAS Add-in for Microsoft Office versus ODS. The pros and cons of each method will be highlighted. excel, xls source 17

Back to Conf go 2022 go 2018

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.