HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

SESUG 2024 Papers - Index

93 papers. Source: SESUG (SouthEast SAS Users Group) conference proceedings.

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 A Brief Introduction to DS2 Mark L. Jordan DS2 is a SAS programming language available in Base SAS 9.4+ and all versions of SAS Viya. The language is designed for simple, safe parallel processing using an intriguing combination of SQL and traditional DATA STEP syntax. This paper shows some of the benefits of processing in DS2, both in SAS9 and SAS Viya. With DS2, you can work with database high-precision numeric values, such as BIGINT and DECIMAL, without loss of precision. You can achieve a significant boost in processing speed by converting a CPU-bound SAS DATA STEP to DS2 for execution in base SAS. And finally, I'll demonstrate how amazingly fast the process can be when executed in CAS on SAS Viya proc step, sas base, parallel processing, run, end, sas viya, return, quit, set statement, sas library source 10
2 A Comprehensive Analysis of the Relationship Between Depression, Sleep Deprivation, and Self-Esteem Using Advanced Statistical Methods Muslihat Adejoke Gaffari Depression, intertwined with sleep deprivation and self-esteem, presents a significant challenge to mental health worldwide. The research shown in this paper employs advanced statistical methodologies to unravel the complex interactions among these factors. Through log-linear homogeneous association, multinomial logistic regression, and generalized linear models, the study scrutinizes large datasets to uncover nuanced patterns and relationships. By elucidating how depression, sleep disturbances, and self-esteem intersect, the research aims to deepen understanding of mental health phenomena. The study clarifies the relationship between these variables and explores reasons for prioritizing depression research. It evaluates how statistical models, such as log-linear, multinomial logistic regression, and generalized linear models, shed light on their intricate dynamics. Findings offer insights into risk and protective factors associated with these variables, guiding tailored interventions for individuals in psychological distress. Additionally, policymakers can utilize these insights to develop comprehensive strategies promoting mental health and well-being at a societal level. Keywords: Depression, Sleep Deprivation, Self-Esteem, Mental Health, Log-Linear Model, Multinomial Logistic Regression Model, Generalized Linear Model. proc freq, degrees of freedom, null hypothesis, odds ratio, alternative hypothesis, multinomial logistic regression, logistic regression, regression analysis, logistic distribution, chi-square test, negative binomial regression, chi-square distribution, predictor variable, binomial distribution, poisson distribution, response variable, akaike information criterion, bayesian information criterion, correlation, nominal variable, poisson regression, mse, interaction effect, proc genmod source 43
3 A Fine Quotation: Macro Quoting in SAS Mark L. Jordan The SAS macro facility provides a powerful, programmable text processing tool for flexible, data-driven programming. But when your macro definition doesn't generate the SAS code you expected, troubleshooting can be a challenge. The problem is often caused by underquoting or overquoting macro variable values in your code. In this paper, I explain quoting in macro programs and demonstrate the effects of underquoting and overquoting. I'll cover effective troubleshooting techniques and some every day "rules of thumb" you can use to avoid quoting problems in your macro programs. IntroducƟon In this paper I'll discuss: A brief review of code tokenization in SAS A review of macro triggers and macro processing An overview of compile-time and execution-time macro quoting functions How macro quoting works Examples of macro quoting gone wrong Troubleshooting and correction techniques for macro quoting * Quoting thumb rules for macro programmers macro quoting function, macro put, macro trigger, macro variable, symbol table, title statement, where statement, macro function, &variable, macro definition source 32
4 A Gentle Introduction to Creating SAS and R Graphs Dane A. Korver In my previous papers, we focused on creating bar charts using SAS from my Wordle data. This paper is going to focus on learning how to create line graphs using SAS and R from weather data since I am curious about the temperature difference between Raleigh, NC and Minneapolis, MN for the year 2023. The data comes from the National Centers for Environmental Information (NOAA) website. proc sgplot, proc step source 5
5 A SAS Automation Example for Completing Reporting Templates in Microsoft Excel Imelda C. Go,
Abbas S. Tavakoli
This example resulted from the need to report monthly data processing results by completing an EXCEL template used for reporting to the contracting party. In this case, the contracting party provided an EXCEL file with several formatted worksheets (e.g., first and second columns have bolding, cell shading, etc.) with the expectation that we would fill out the second-column cells. Instead of filling out the EXCEL template the customer provided, SAS creates an EXCEL file, which is made to look like the template. This example uses a "driver" table that maps each worksheet row to the SAS variable that has the value for the second column cell. The "driver" table also contains information that allows SAS to write into a text file the complete VBA in EXCEL macros, which can change the appearance of the exported file to look just like the required template. The "driver" can be extended to include columns that are useful for quality control when the programmer's work is checked by another programmer. excel, create table, proc sql, proc step, union all, ods excel source 18
6 A SAS MACRO to parse clinical conductor timesheets Kennedy Kamau Gachigi This paper describes a macro that is useful in generating monthly timesheet reports from clinical conductor, a new clinical trial management system by Advarra that does not have a specific inbuilt report to summarize monthly data. This paper is for intermediate level programmers with an understanding of the macro and SQL environments in SAS. The raw data is stored in github and can be downloaded from a link in the paper. clinical research, sample, clinical trial, excel, macro definition source 6
7 Advanced DATA Step Look-Back and Look-Ahead Techniques Joshua M. Horstman The DATA STEP is a powerful and versatile tool for manipulating SAS data sets. Because it is built around the concept of reading one record at a time into the Program Data Vector, DATA STEP programming logic generally has access to only one record at a time. However, there are many situations in which it is advantageous to be able to look back at values from prior records or to look ahead at values from later records. This presentation introduces several advanced DATA STEP programming techniques that allow the programmer to work with values from multiple records concurrently. Approaches discussed include the double SET statement, the self-merge, the LAG function, and several others. A number of examples are used to explain each method and demonstrate its use. set statement, lag function, in=, merge statement, pdv, by group processing, missing value, if-then-else, moving average source 5
8 Adventures in Independent Consulting: Perspectives from Two Veteran Consultants Living the Dream Joshua M. Horstman,
Richann J. Watson
While many statisticians and programmers are content in a traditional employment setting, others yearn for the freedom and flexibility that come with being an independent consultant. In this paper, two seasoned consultants share their experiences going independent. Topics include the advantages and disadvantages of independent consulting, getting started, finding work, operating your business, and what it takes to succeed. Whether you're thinking of declaring your own independence or just interested in hearing stories from the trenches, you're sure to gain a new perspective on this exciting adventure. clinical trial, credit card source 7
9 An Integrative Analyzer for Publicly Available COVID-19 Genome-wide Association Studies Zhongshan Cheng COVID-19 has led to over 7 million deaths globally, with human genetic factors playing a significant role in the variability of disease severity. To identify genetic contributors to severe COVID-19, we developed the "COVID19_GWAS_Analyzer" using SAS OnDemand for Academics. This genome-wide association study (GWAS) analyzer facilitates comprehensive explorative analysis of large-scale, publicly available COVID-19 datasets, including GWAS summary statistics, expression quantitative trait loci (eQTL) data, and single-cell expression data. The package incorporates over 400 SAS macros designed for mining these datasets and other related large-scale COVID-19 resources. The primary objective is to support biologists and geneticists in identifying candidate genes for further investigation based on COVID-19 GWAS summary data. Moreover, the flexibility of combining SAS macros within the SAS OnDemand for Academics platform enables detailed exploration of additional GWAS datasets. The "COVID19_GWAS_Analyzer" is freely available on GitHub at https://github.com/chengzhongshan/COVID19_GWAS_Analyzer. macro definition, effect size, sample, box plot, proc means source 14
10 An Introduction to Obtaining Test Statistics and P-Values from SAS and R Brian K. Varney Getting values of test statistics and p-values out of SAS and R is quite easy in each of the software packages but also quite different from each other. This paper intends to compare the SAS and R methods for obtaining these values from tests involving Chi-Square and Analysis of Variance such that they can be leveraged in tables, listings, and figures. This paper will include but not be limited to the following topics: • SAS ODS TRACE • SAS PROC FREQ • PROC GLM • R stats::chisq.test() function • R stats::aov() function • R broom package functions The audience for this paper is intended to be programmers familiar with SAS and R but not at an advanced level. output, anova, dataset, proc step, proc freq, output delivery system, ods output source 6
11 Applying Different Data Cutoff Dates for the Analysis of a Study Milestone Guowei Zhao,
Hong Qi
In clinical studies, applying data cutoff in SDTM (Study Data Tabulation Model) data is crucial for supporting analysis and reporting activities, and subsequent regulatory submissions. Typically, a single data cutoff date is assigned to each study milestone, and the data collected up to that cutoff is utilized for analysis. However, certain trials pose a unique challenge where distinct cohorts have different cutoff dates. It is ideal to apply specific data cutoffs to each corresponding cohort to optimize data analysis while maintaining adherence to industry standards. This paper explores the importance of applying variable data cutoff dates for different cohorts associated with a single milestone in a clinical trial. It addresses the challenges posed by this situation and examines the potential impact on data analysis and interpretation. Furthermore, the paper proposes an effective solution that addresses these challenges while optimizing data analysis and streamlining the submission process. sdtm domain, clinical trial, date variable, data cleaning, missing value, data science, randomization, cdisc source 7
12 Automating Manual Processes with SAS: A Practical Example from Higher Education Kelly D. Smith,
Elizabeth S. Davis
Doing more with less; improving efficiency; standardizing a process. Automation offers an approach to help Institutional Research offices meet all these goals. In this session, learn about the process one IR office used to automate a process previously done manually through EXCEL. The automation process utilized SAS 9.4 and Enterprise Guide. Takeaways include the process framework, useful PROC procedures, and lessons learned that you can apply to your own automation project. proc step, macro variable, missing value source 5
13 Backpacking Through the World of SAS PROC PRINT Megan Christine Vaughn,
Bailey M. Glidden
This comprehensive paper strives to encompass the versatility and simplicity of the SAS (Statistical Analysis System) function, PROC PRINT. This paper aims to contribute a review of the PROC PRINT procedure and its many purposes. The first example covers the simplicity of creating a table in PROC PRINT and the features that can be added on, such as titles and labels. The second example compares and contrasts PROC PRINT and PROC REPORT by listing their respective functions and differences. The third example covers the versatility of the PROC PRINT SAS function and how it can be used in addition to other functions to make SAS output more legible and concise. In our conclusion we discuss the ramifications of PROC PRINT and how this function is used to create titles, works in addition to other functions within SAS, and demonstrates the benefits of using PROC PRINT over other functions due to its straightforward nature. proc print, proc step, proc report, sas function source 6
14 Benefits, Challenges, and Opportunities with SAS and Open-Source Software (OSS) Integration Kirk Paul Lafler,
Ryan Paul Lafler,
Stephen B. Sloan,
Joshua J. Cook
The open-source world is alive, well and growing in popularity. This paper highlights the many benefits found with open source software (OSS) including its flexibility, agility, talent attraction, and the collaborative power of community; the trends show that open-source is ubiquitous penetrating many critical technologies we depend on, where more technology companies recognize the importance of the open-source community leading to more initiatives and sponsorships that support open-source creators; the challenges of open source including compatibility vulnerability issues, security limitations, intellectual property issues, warranty issues, and inconsistent developer practices; and the opportunities coming out of the open source community including cloud architecture, open standards, and the collaborative nature of community. data science, proc sql source 7
15 Building Amazing Dashboards Using SAS Software Kirk Paul Lafler,
Joshua J. Cook
Organizations around the world develop business intelligence and analytics dashboards, sometimes referred to as enterprise dashboards, to display the status of "point-in-time" metrics and key performance indicators. Effectively designed dashboards extract real-time data from multiple sources for the purpose of highlighting important information, numbers, tables, statistics, metrics, performance scorecards and other essential content. This paper provides attendees with essential rules for "good" dashboard design, the metrics frequently used in dashboards, and the use of best practice programming techniques in the design of quick and easy dashboards using SAS software. Learn essential programming techniques to create real-world dashboards using Base-SAS software, including PROC SQL, macro, Output Delivery System (ODS), ODS HTML, ODS EXCEL, ODS Layout, ODS Statistical Graphics, PROC SGPLOT, PROC SGPIE, and other techniques. proc step, proc report, excel, proc freq, proc sgplot, proc format, proc sort, proc univariate, title statement, end, proc template, order by, user-defined format, key performance indicator, output delivery system, business intelligence, proc contents, proc sql source 42
16 Building and Validating a Recommendation system using Python and SAS Patralekha Bhattacharya Recommendation systems have become increasingly popular in many industries, such as retail, movies, books, etc. In this paper, we build and validate a recommendation system for physical fitness products (e.g., exercise equipment, training manuals, books, etc.). All the recommendation models were built using implicit data, as we do not have explicit consumer ratings for the products. Instead, we use past user behavior (or purchases) as a proxy for user preferences whenever such past data is available. Our dataset consists of customers who purchased a fitness product during the year 2022 or earlier and those who have never purchased in the past. Customers were divided into three groups: (i) non-purchasers, (ii) recent purchasers, and (iii) older purchasers, different modeling methods were used to recommend items to different sets of customers. Recommendations were created both for existing products (which had been purchased by some customers in the past) and for newly introduced products (for which no purchase history exists). Different methods (such as collaborative filtering, content-based, trigger-based, and popularity-based techniques) were used. For the final solution, we used a hybrid system that used the strengths of both Python and SAS to develop the best set of recommendations for each customer. Within the first three months of implementation, our solution generated significant improvements in customer purchase behavior, compared to before the system was put in place. recommendation engine, data cleaning source 5
17 C-SSRS Questionnaire Dataset Design for Assessing Suicide Risk in Neuroscience Studies Anupriya Lakshmipathy The Columbia-Suicide Severity Rating Scale (C-SSRS) questionnaire is widely used in Neuroscience studies to determine the presence of suicidal ideation or behavior. The first administration of the CSSRS within a clinical trial is conducted with respect to one or more pre-dose reference periods (PRP) (e.g., lifetime, last 6 months), with subsequent administrations conducted relative to the last visit. Information is collected on three broad categories: suicidal ideation, suicidal behavior, and non-suicidal self-injurious behavior, with the former two categories typically analyzed as ordinal measures, each containing 5 levels. When treatment-emergent events are of interest, relative to the given PRP, it is inappropriate to include subjects for those ordinal levels for which that subject experienced that given event. For example, if the PRP is 'lifetime' and the subject experienced Suicidal Ideation at some point during their lifetime, then that subject is not able to experience a treatment-emergent event of Suicidal Ideation, and thus must be excluded from the observed Suicidal Ideation counts and percents. This accounting results in the potential for different denominators for the different ordinal levels within a given category. However, when considering the ordinal levels in a "cumulative" way, i.e., to ascertain how may subjects had an event "as bad or worse" than the given ordinal category, all denominators should be the same across all ordinal categories. This combined accounting presents for unique programming. This paper emphasis on deriving ADCSSRS dataset and event summary display to support the unique analysis of the ordinal levels in assessing patients suicide risk. sample, adam dataset, cdisc source 6
18 Calculating the Comorbidity Index with user designed flexibility using SAS and R Geonhyeok Jeong,
Ting Shi
Abstract Comorbidity refers to the presence of two or more medical conditions or disease in an individual at the same time. These conditions can either occur simultaneously or one can develop after the other. Comorbidity can complicate the diagnosis, treatment, and management of these conditions, as they may interact with each other and affect the overall health and well-being of the individual. Comorbidity indexes are commonly used in medical research and clinical practice to assess the burden of comorbid conditions in individuals. The calculation of comorbidity typically involves using a comorbidity index or scoring system to assign weights or scores to different comorbid conditions. This paper describes a custom SAS macro and R function which gives user the flexibility to customize the different comorbidity indexes and weights for the calculation. Introduction Some of the commonly used comorbidity indexes include: Charlson Comorbidity Index (CCI), Elixhauser Comorbidity Index (ECI), NCI Comorbidity Index, Washington University Head and Neck Comorbidity Index (WUHNCI), Simplified Comorbidity Score for a Patient with Non-Small Cell Lung Cancer (NSCLC) and others. All these measures involve using specified list of medical conditions identified from diagnoses codes and assign the weights for the comorbidities. The published SAS codes or R packages have the diagnosis codes and weights embedded in the program which doesn't give the user flexibility to define their own sets of codes and weights. This paper illustrates a function design using SAS or R to give user flexibility when calculating the comorbidity index for the following specifications: • definition of the medical condition using user-defined medical code lists; • weight assignment for the different medical condition; • version of the medical coding system used; • algorithm for calculating the comorbidity index (DEYO, QUAN or any user defined value); • string matching type when extracting diagnosis codes; • inclusion or exclusion of specified diagnosis codes. The designed function can handle the calculation of multiple user defined Comorbidity indexes. excel, if-then-else, in=, macro definition, macro loop, %if-%then-%else, proc step, proc sql source 16
19 Charting Your Organization's Machine Learning Roadmap Ryan Paul Lafler Machine learning is experiencing a golden age of investment, democratization, and accessibility across all domains in the life sciences, natural sciences, and social sciences with applications to industry for business decision-making, risk management, consumer marketing, clinical trials, financial forecasting, security recognition, video remastering, digital twin simulations, and more. But what exactly is machine learning (ML)? How is it connected to Artificial Intelligence (AI)? And most importantly, how can data scientists, programmers, software engineers, and/or researchers start their endeavors into machine learning? This paper answers these questions, and more, by providing a roadmap to help navigate the complexities of machine learning in an application-oriented guide. This paper covers the main aspects of machine learning including supervised, unsupervised, and semi-supervised approaches as well as deep learning. The roadmap for supervised machine learning starts with linear regression and progressively builds towards more complex and flexible algorithms with discussions about the advantages and disadvantages of using certain models over others. This paper discusses the real-world applications of both labeled and unlabeled data; supervised and unsupervised machine learning algorithms; overfitting and underfitting; cross-validation; and the importance of hyperparameter tuning to better fit algorithms to their data. machine learning, regression analysis, neural network, deep learning, training set, artificial intelligence, data cleaning, proc reg, proc hpforest, model validation, mse, supervised learning, unsupervised learning, data mining, proc hpsplit, data science, proc princomp source 7
20 Comparative Analysis of Sentiment Prediction Methods Using Aspects in Consumer Reviews Harish Palakurthi The proliferation of online reviews has made consumer sentiment a critical data point for businesses of all sizes. However, discrepancies between overall star ratings and the textual content of reviews can complicate sentiment analysis tasks. This study investigates the effectiveness of incorporating aspect identification within reviews to improve sentiment prediction accuracy. We compare four distinct approaches: traditional machine learning models, advanced OpenAI large language models (LLMs), SAS Model Builder, and the Sentiment Intensity Analyzer (VADER). The evaluation employs a benchmark dataset of consumer reviews paired with corresponding star ratings and the sentiment extracted from the ratings. The sentiment of consumer reviews was analyzed using the four methods. The results demonstrate that OpenAI LLMs achieve superior sentiment prediction accuracy (88%) followed by aspect-based sentiment analysis using traditional machine learning models (82.5%), SAS Model Builder (75%), and the simple Sentiment Intensity Analyzer-VADER (66%). These findings highlight the value of aspect-based sentiment analysis for bridging the gap between ratings and reviews, keeping the computational requirements of methods used in mind. The aspects provide insights into pain points of consumers and strengths of products and services of businesses. The research offers valuable insights into the strengths and limitations of each method, informing potential strategies to mitigate discrepancies in sentiment perception. machine learning, confusion matrix, logistic regression, customer satisfaction, logistic distribution, regression analysis, proc hpforest, binary variable, proc freq source 8
21 Comparative Examples of Geocoding and Mapping Techniques in SAS and R Using Centers for Disease Control Survey Data Joshua J. Cook,
Louise S. Hadden,
Swann Arp Adams
The Centers for Disease Control (CDC) maintains the Behavioral Risk Factor Surveillance System (BRFSS), which is a rich source of survey data for public health and epidemiological research. BRFSS collects data in all 50 states as well as the District of Columbia and three U.S. territories, and includes data on health-related risk behaviors, chronic health conditions, and use of preventive services. Geospatial analysis is a crucial tool in public health and epidemiology, offering insights into geographic patterns and trends. This presentation aims to provide a comprehensive comparison of geocoding and mapping techniques using SAS and R, utilizing data from the CDC BRFSS. By demonstrating how to geocode and visually map public health data, we seek to empower researchers and practitioners with the skills necessary to conduct basic spatial analyses. In this session, we will illustrate the process of geocoding and mapping BRFSS data using SAS PROC GEOCODE and PROC SGMAP procedures, alongside equivalent methods in R, using packages such as tidygeocoder, ggplot2, and plotly. Attendees will gain insights into the strengths and limitations of each approach, understanding how to choose the appropriate tools for their specific needs. Key topics will include an overview of the CDC BRFSS dataset and its relevance to public health, step-by-step guidance on geocoding and generating spatial coordinates, techniques for creating informative and aesthetically pleasing maps, with direct comparisons between SAS and R in terms of functionality, ease of use, and output quality. By the end of this lecture, participants will be equipped with practical knowledge to apply geocoding and mapping techniques in their work, enhancing their ability to analyze spatial data and make data-driven decisions in public health. proc step, sas base, proc rank, bar chart, lookup source 25
22 Comparative Tools in SAS: Analyzing Self-Reported versus Imputed Values Neesha Nathwani,
Sarah Woodruff
Imputation of data is often a critical step in compensating for missing values when analysis is due to be performed. The need for effective imputation has been demonstrated within the Sentinel Initiative, a program sponsored by the U.S. Food and Drug Administration (FDA) created to monitor the safety of FDA-regulated medical products via an active surveillance system. Since Sentinel functions as a distributed data network, data completeness can vary, emphasizing the importance of quality data imputation. The focus of this paper is on comparison of imputed values, in particular those reporting race, ethnicity, sex, and gender. While current data partners are primarily using the Bayesian Improved Surname and Geocoding (BISG) method and a standardized imputation method developed by RTI International (RTI) for imputation, the tools and approaches available to compare reported versus imputed values vary much more widely. This paper describes and discusses the use of PROC COMPARE, implementation of crosstabulation particularly using PROC FREQ, and PROC MEANS, application of hash methods as well as regular expressions, and PROC SQL. Testing of these methods was done on fabricated descriptive reporting datasets which emulate those aggregated across the Sentinel population. This paper includes a comparative analysis of the methods to evaluate their effectiveness based on a range of priorities and relevant study outcomes. proc step, proc freq, proc compare, out=, proc sql, imputation, hash table, nominal variable, sample, by group processing, missing value, hash output, raw data source 30
23 Complex Custom Clinical Graphs Step by Step with SAS ODS Statistical Graphics Richann J. Watson,
Joshua M. Horstman
The ODS Statistical Graphics package is a powerful tool for creating the complex, highly customized graphs often produced when reporting clinical trial results. These tools include the ODS Statistical Graphics procedures, such as the SGPLOT procedure, as well as the Graph Template Language (GTL). The SG procedures give the programmer a convenient procedural interface to much of the functionality of ODS Statistical Graphics, while GTL provides unparalleled flexibility to customize nearly any graph that one can imagine. In this hands-on workshop, we step through a series of increasingly sophisticated examples demonstrating how to use these tools to build clinical graphics by starting with a basic plot and adding additional elements until the desired result is achieved. bar chart, chi-square test, macro variable, proc sgplot, sas base, output delivery system, graph template language source 44
24 Creating a Publication-Quality Multi-Panel Graph For Generalized Linear Model Analysis. Neeta Shenvi The SAS PROCEDURE GENMOD is often used to fit classical linear models to analyze longitudinal data such as patient-reported outcomes (PRO) measurements overtime. We used SAS PROCEDURE GENMOD to estimate responder rate (defined for each visit as 25- point improvement) over 48 weeks. The responder (yes/no) endpoint evaluated at one year post-baseline visit was analyzed for binary outcome. The model included terms for sex, age group, 4 treatment groups, two -way and three-way interactions. We show use of SAS template language to create a publication grade 4 panel plot to visualize model-based responder rates and 95% confidence interval. responder analysis, sample size, sample, confidence interval, data step, proc genmod, proc step source 19
25 Creating and Customizing High-Impact Excel Workbooks from SAS with ODS EXCEL Joshua M. Horstman Love it or hate it, Microsoft EXCEL is used extensively throughout the business world. As a SAS user, you can enhance the impact of your work by using the ODS EXCEL destination to create high-quality, customized output in EXCEL format directly from SAS. This paper walks through a series of examples demonstrating the flexibility and power of this approach. In addition to complete control over visual attributes such as fonts, colors, and borders, the ODS EXCEL destination allows the SAS user to take advantage of EXCEL features such as multiple tabs, frozen or hidden rows and columns, and even EXCEL formulas to deliver the high-impact results you and your customers want! excel, by group processing, proc step, xls, output delivery system, proc report, ods excel, proc template, macro variable, macro loop, do loop, sas output, macro definition, proc print source 16
26 Customizing SAS Studio in Viya - The Next Step Danny R. Modlin SAS has always been there for users to assist with organizing and developing of code. This hands-on workshop discusses the next tool for such assistance in statistical analysis, the custom step. Custom steps enable you to create a user interface for a specific task or analysis. Add your custom steps to a SAS Studio flow to streamline and automate your statistical analysis! In this workshop, you review custom SAS Studio tasks, make connections between this and the creation of custom steps, and then learn to create your own statistical custom step in the SAS Studio Designer. numeric variable, macro variable source 23
27 Data Access Made Easy Using SAS Studio Kirk Paul Lafler,
Shaonan Wang,
Nuoer Lu,
Zheyuan (Walter) Yu,
Daniel Qian,
Swallow Xiaozhe Yan
SAS OnDemand for Academics (ODA) gives students, faculty, and SAS learners free access to SAS software and the SAS Studio user interface using a web browser. SAS Studio provides users with a comprehensive and customizable integrated development environment (IDE) for all SAS users. A number of techniques will be introduced to showcase SAS Studio's ability to access a variety of data files; the application of point-and-click techniques using the Navigation Pane's Tasks and Utilities; the importation of external delimited text (or tab-delimited), comma-separated values (CSV), and EXCEL spreadsheet data files by accessing Import Data under Utilities; read JSON data files; and view the results and SAS data sets that are produced. We also provide key takeaways to assist users learn through the application of tips, techniques, and effective examples. dataset, sas studio, proc step, sas library, excel, proc contents, delimited file, bar chart, work library, histogram, proc import, csv source 26
28 Data Diagnostics with Base SAS Mark L. Jordan When you gain access to new data sources, it's important to become familiar with the data and clean and validate it before conducting analysis, reporting, and modeling. The data may include records that violate business rules, non-standard casing, spellings, or abbreviations for text data, or numeric outliers. This hands-on workshop teaches you how to use PROC SQL, PROC SGPLOT, PROC FREQ, and PROC FORMAT to generate reports useful for data profiling. You will then use PROPCASE, UPCASE, and PRX functions to standardize character data. The presentation includes an introduction to regular expressions. We'll show how to use PROC SUMMARY and the DATA STEP to automat identification and isolation of rows containing numeric outliers. And finally, we'll use constraints and audit trails to easily identify data that does not conform to business rules proc step, missing value, outlier, constraint, key, proc freq, audit trail, data validation rules, sas base source 37
29 Data Literacy 101: Understanding Data and the Extraction of Insights Kirk Paul Lafler Data is ubiquitous and growing at extraordinary rates, so a solid foundation with data essentials is needed. Topics include the fundamentals of data literacy, how to derive insights from data, and how data can help with decision-making tasks. Attendees learn about the types of data - nominal, ordinal, interval, and ratio; how to assess the quality of data; explore data using visualization techniques; and use selected statistical methods to describe data. dataset, data science source 9
30 Deduping Time-Varying Redundant Transactions in Commercial Lending Patralekha Bhattacharya Deduping duplicate transactions is an important step when building a predictive model and models that are built to create credit risk scorecards in the commercial lending industry are no exception. What is specific to this industry, however, is that many duplicate transactions occur because the borrower splits the loan amount into multiple parts and asks for the loan on a piecemeal basis in order to increase the chances of loan approval. These individual loans appear in the dataset as separate records, even though they are actually part of the same transaction and only one of them should be kept. Therefore, the method of deletion of duplicates may be different from that in other industries. Since borrowers care more about paying off their larger loans on time than the smaller ones, we prefer to keep the transaction with the largest transaction amount when removing duplicates. A commonly used method is to only remove the duplicates that appear within the same calendar quarter. This method is very easy, and one can use a simple sort to only keep the transactions with the highest transaction amount. However, the drawback of this method is that transactions that may have taken place just one day apart (e.g.: March 31st and April 1st) will not be candidates for deduping as they do not belong to the same calendar quarter. In this paper we present a different method of deleting duplicate observations when they are within 90 days apart. Since the time-range we consider depends on the date of each transaction, this method is more complex and may need multiple iterations. However, if done correctly, this method will be more accurate and will remove more duplicate transactions correctly than the above calendar quarter deduping method. macro definition, monte carlo source 7
31 Determine the Dimensionality of Polycystic Ovary Syndrome Health-Related Quality of Life Questionnaire (PCOSQ-50) Using Factor Procedure and Parallel Analysis Abbas S. Tavakoli,
Pamela J. Wright,
Robin M. Dawson
Health-related quality-of-life (HRQoL) has been defined as the physical, psychological, and social domains of health. HRQoL is a multi-dimensional concept commonly used to examine the impact of the presence and treatment of chronic health conditions on an individual's physical, emotional, and social well-being. While HRQoL instruments can be used with most health conditions, they lack specificity for certain health conditions such as polycystic ovary syndrome (PCOS). This paper used parallel analysis to determine the dimensionality of Polycystic Ovary Syndrome Health-Related Quality of Life Questionnaire (PCOSQ-50). Parallel analysis, using a SAS macro and option parallel in PROC FACTOR, was used to determine the dimensionality of the Perspectives of Faculty Caring. Exploratory factor analysis was conducted using maximum likelihood, squared multiple correlations, and Promax rotation. Parallel analysis, using a SAS macro and option parallel in PROC FACTOR, was used to determine the dimensionality of the Perspectives of online Caring. Internal consistency reliability was assessed using Cronbach's alpha. Pearson's correlation assessed the association between factors and subscale items. Parallel analysis showed there were seven meaningful underlying factors. All loading from rotated factor pattern (standardized regression coefficient) were positive for 50 items, with factor loadings ranging from 0.30 to 0. 99. There was positive correlation between seven factors ranging from .11 to .63. Scale reliability in this study was examined by estimating the Cronbach's alpha. The reliability coefficient for total scale was 0.93. The Cronbach's alpha for the subscales ranged from 0.81 to 0.97. Parallel analysis was a valuable method for determining the dimensionality of the PCOSQ-50 Scale. proc factor, proc step, correlation, regression analysis, standard deviation, scree plot, factor analysis, factor loading, macro definition, proc freq source 19
32 Developing Artificial and Convolutional Neural Networks with Python's Keras API for TensorFlow Ryan Paul Lafler,
Anna T. K. Wade
Capable of accepting and mapping complex relationships hidden within structured and unstructured data, neural networks are built from layers of neurons and activation functions that interact, preserve, and exchange information between layers to develop highly flexible and robust predictive models. Neural networks are versatile in their applications to real-world problems; capable of regression, classification, and generating entirely new data from existing data sources, neural networks are accelerating recent breakthroughs in Deep Learning methodologies. Given the recent advancements in graphical processing unit (GPU) CARDS, cloud computing, and the availability of interpretable APIs like the Keras interface for TensorFlow, neural networks are rapidly moving from development to deployment in industries ranging from finance, healthcare, climatology, video streaming, business analytics, and marketing given their versatility in modeling complex problems using structured, semi-structured, and unstructured data. This paper explores fundamental concepts associated with neural networks including their inner workings, their differences from traditional machine learning algorithms, and their capabilities in supervised, unsupervised, and generative AI workflows. It also serves as an intuitive, example-oriented guide for developing Artificial Neural Network (ANN) and Convolutional Neural Network (CNN) architectures using Python's Keras and TensorFlow libraries for regression and image classification tasks. neural network, data cleaning, regression analysis, training set, unstructured data, deep learning, response variable, mae, machine learning, missing value, feature extraction, validation set, proc reg, structured data source 18
33 Efficient Way to Create Adverse Event (AE) Summary Tables by System Organ Class (SOC) and Preferred Term (PT) using PROC SQL in SAS Hardik Sheth Adverse event (AE) summary tables by System Organ Classes (SOCs) and Preferred Terms (PTs) provide the safety of the drug to the patients; hence, they are considered key outputs for most clinical trials. The methodology proposed herein contains two straightforward steps for such AE summary table creation: 1) calculate the number of patients, percentages and number of AEs by SOC and PT for each treatment group and overall (note: at each level of summation, these counts are typically displ ayed as one event per subject), and 2) transpose all calculated statistics for each treatment group and the overall column. This paper will illustrate how to implement both steps to create AE summary tables by SOC and PT efficiently using the SQL procedure in SAS. Previous discussions of this topic did not transpose after the calculations were completed, so this solution provides one more option for those that frequently prepare such outputs proc sql, macro variable, select, proc step, adverse event summary, system organ class, adverse events, group by, clinical trial, macro parameter, macro loop source 8
34 Empowering Educational Institutions: Utilizing SAS Tools for the Development of Student Retention Dashboard Raj Bhosale In the evolving landscape of data management in a Higher-Ed setting, the need for effective tools to enhance student retention strategies is paramount. This paper presents a comprehensive methodology for harnessing the capabilities of SAS Data Integration Studio and SAS Visual Analytics to develop actionable dashboards. SAS Data Integration Studio serves as the backbone of our data management framework. It allows for the extraction, transformation, and loading (ETL) of data from multiple sources, including academic records, student engagement metrics, and demographic information. This process ensures that the data used in retention analysis is clean, consistent, and comprehensive. By automating the ETL processes, institutions can streamline their data workflows, thereby enhancing the reliability of the insights generated. On the visualization front, SAS Visual Analytics plays a pivotal role in transforming the processed data into intuitive and interactive dashboards. These dashboards are designed to cater to various stakeholders within educational institutions, such as graduate program directors, department heads, and faculty members. They provide real-time visual representations of key indicators like engagement levels, academic performance, and attrition rates. The interactive nature of these dashboards allows users to drill down into specific data points, facilitating a deeper understanding of underlying trends and enabling proactive intervention strategies. The skill level for intended audience ranges from beginner to advanced. Attendees will gain insights into the practical steps of setting up the data integration environment, designing effective data models, and creating compelling visualizations. Additionally, we will discuss best practices for maintaining data integrity, ensuring scalability, and fostering user engagement with the dashboards. data governance, data pipeline source 8
35 Examining the R datastep() Function David J. Bosak Did you know there is a datastep() function for R? It is found in the "libr" package. This function replicates many of the basic features of the SAS DATA STEP. It processes data row by row, and allows you to execute an arbitrary code block on each row. Variables can be created on the fly, just like a SAS DATA STEP. You can also drop, keep, and rename variables, retain variables, and create variable arrays. It supports set, merge, and by operations. It also supports output() and delete() functions to control which rows are sent to the output dataset. The purpose of the paper is to examine the capabilities of this useful function. by group processing, if-then-else, out=, sas programmer, automatic variable, sample source 12
36 Exploring the Power of Regular Expressions (RegEx) for Enhanced Pattern Matching and Replacement Operations in SAS Pratap Singh Kunwar This presentation explores the use of Perl Regular Expressions (RegEx) to enhance character manipulation in SAS programs. While SAS offers numerous character functions for handling text fields, understanding RegEx enables users to perform complex pattern matching and search-and-replace operations more effectively. Attendees will learn the basics of character classes and metacharacters, essential components for building robust regular expressions. Through practical examples, the presentation will demonstrate how to construct and apply RegEx to identify and manipulate both simple literals and intricate string patterns. The session aims to showcase the power, convenience, and efficiency of using RegEx in various scenarios. By the end of the presentation, participants will be equipped with the skills to implement RegEx in their SAS programs confidently. Moreover, the versatility of RegEx is highlighted by its applicability across multiple programming languages such as Perl, Python, JavaScript, and PHP. This portability ensures that the skills learned can be transferred and utilized in different coding environments, making RegEx a valuable tool for any programmer looking to enhance their text processing capabilities. character functions, macro variable source 35
37 Fifteen Functions to Supercharge Your SAS Code 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
38 Five Easy Ways to Make Your SAS Code Run Faster Mark L. Jordan Don't you just hate waiƟng for your results aŌer submiƫng a SAS program? I sure do! In this session, I'll demonstrate five easy "thumb rules" that you can easily use to help you write faster- running SAS code. These techniques are valid for code executed in SAS 9 or the SAS Viya Compute Server. I'll demonstrate head-to-head comparisons of the different techniques in SAS 9, using SAS datasets and Oracle tables as data sources. You'll see how simple coding choices affect execuƟon Ɵme, and learn which choices provide the best performance in the circumstances we commonly encounter every day. Co p y right S AS I n s titu te I n c . All r igh ts r e s e r v e d . Decisions, decisions! KEEP statement or the KEEP= Dataset Option? Subsetting IF or a WHERE statement? WHERE expressions: SAS-specific or ANSI standard operators? DATA STEP or SQL query? *What if my process is CPU-bound? In this presentation, I'll compare the impact on processing speed of several techniques we choose from every day sas 9, proc sql source 10
39 Five Reasons To Swipe Right on PROC FCMP, the SAS Function Compiler for Building Modular, Maintainable, Readable, Reusable, Flexible, Configurable User-Defined Functions and Subroutines Troy Martin Hughes The FCMP procedure (aka, the SAS function compiler) empowers SAS practitioners to build our own user-defined functions and subroutines-callable software modules that containerize discrete functionality, and which effectively extend the Base SAS programming language. This introduction explores five high-level problem sets that user-defined functions can solve. Learn how to hide a hash object (and its complexity) inside a function, how to manipulate SAS arrays, how to design a format (or informat) that calls a function, how to run a DATA STEP (or SAS procedure) inside of a DATA STEP (aka, DPDD), and how to avoid unnecessary usage of the SAS macro language. Interwoven throughout the discussion are the specific software quality characteristics-such as modularity, maintainability, readability, reusability, and configurability-that are achieved through the design and implementation of FCMP user-defined functions. For additional information, context, and examples, please consult that author's 2024 SAS Press book: PROC FCMP User-Defined Functions: An Introduction to the SAS Function Compiler. (Hughes, 2024) proc fcmp, macro facility, macro definition, hash table, sas base, macro function, macro variable, sysrc, array, proc step source 11
40 Fontcase Macro Ranjan Sitaula Standard clinical datasets often contain character variables with texts. Some of the examples of such variables include adverse events terms, disposition reason and comment fields. There is often a requirement to have prespecified capitalization on these variables. Moreover, the raw datasets, which are the primary source for these datasets often contains text strings with typographical errors and random capitalization. Use of standard SAS functions such as propcase or lowcase do not always give the desired capitalization. Similarly, use of characters replacement functions such as tranwrd and translate functions to fix capitalization and typographical errors can be cumbersome when multiple words are involved. To address this shortcoming, a single macro program called "Fontcase Macro" has been created which performs the following tasks simultaneously with minimal user input: (i) converts texts of any prior capitalization to sentence case or title case as required, (ii) converts or maintains abbreviations/standard terminologies to standard capitalization, (iii) corrects typos. The macro code uses the Perl Regular Expression (RegEX) function prxchange to identify text patterns and change them to desired capitalization. Moreover, prespecified abbreviations and standard terminologies are stored in a spreadsheet file that is accessed by the macro program. The macro has been extremely useful in the generation of standard clinical datasets such as SDTM (Study Data Tabulation Model) and ADaM (Analysis Data Model) datasets for variables involving text strings and in the generation of TLFs (tables, listings, and figures) using raw datasets. character variable, macro parameter, missing value, macro variable source 8
41 Forecasting U.S. Unemployment Rates Using ARIMA: A Time Series Analysis from 1948 to 2019 Shanice Douglas This study explores the application of the ARIMA (Auto Regressive Integrated Moving Average) model for forecasting U.S. unemployment rates using monthly data from 1948 to 2015. The ARIMA (1,2,0) model was selected based on the data's non-seasonal and non-stationary properties and was used to generate a 48-month forecast, which was then compared to actual unemployment data from 2016 to 2019. While ARIMA is well-documented as a robust tool for short-term forecasting in economic data, the model in this study exhibited significant limitations in capturing the cyclical nature of U.S. unemployment trends. The forecast produced by the model remained relatively flat, failing to reflect the actual downward trend observed during the period, with increasing confidence intervals indicating growing uncertainty over time. Diagnostic tools, such as the Akaike Information Criterion (AIC) and residual analysis, confirmed the model's adequate fit to historical data but highlighted its inability to account for cyclical economic influences necessary for accurate long-term predictions. Given the U.S. unemployment rate's cyclical behavior, this study recommends considering alternative time series models, such as Exponential Smoothing (ETS), Holt-Winters, or SARIMA models, to enhance the accuracy of future forecasts. These approaches could provide more reliable and actionable insights for policymakers and economists by accounting for cyclical and seasonal trends in the data. time series analysis, time series data, confidence interval, residual analysis, proc esm source 11
42 From Good to GREAT: The (Not-So-Technical) Qualities of Great Programmers Tamar C. Roomian This paper aims to present qualities of programmers that employers and your fellow employees value that are beyond technical SAS programming skills, and specific examples of how these soft skills can translate to SAS programming. This paper will discuss how to think critically and contribute intellectually, work backwards to create the program, understand your subject matter, and build your problem-solving muscles. This presentation is aimed at beginner programmers who are just entering the workforce; however, any programmer could benefit from the tips and discussion presented in this paper. These soft skills will distinguish you as a GREAT programmer - someone who is delivers better results and is a pleasure to work with. proc sgplot, sas programming, bar chart, proc step, proc sql source 10
43 From Muggles to Macros: Transfiguring Your SAS Programs With Dynamic, Data-Driven Wizardry Joshua M. Horstman,
Richann J. Watson
The SAS macro facility is an amazing tool for creating dynamic, flexible, reusable programs that automatically adapt to change. This presentation uses examples to demonstrate how to transform static "muggle" code full of hardcodes and data dependencies by adding macro language magic to create data-driven programming logic. Cast a vanishing spell on data dependencies and let the macro facility write your SAS code for you! macro variable, proc sql, proc step, macro facility, variable list, macro loop, %if-%then-%else source 52
44 From SAS to Power BI: Tips to Smooth the Way Kelly D. Smith Data visualization and data dashboards are now common, and often expected, project outcomes. What if the preferred visualization platform is PowerBI when you did all the data preparation and analysis in SAS? Takeaways from the session include a checklist for navigating the connection process from SAS to PowerBI and tips on SAS data structure to minimize the set-up / prep work needed once the data is in PowerBI. proc sql, sql server, excel source 6
45 Generating new variables from variable names and values in a DATA step Bruce F. Gilsen Writing DATA STEP code to transform data when new variable names are constructed from variable values can be difficult, in part because using variable values on the left-hand side of assignment statements to create new variables isn't straightforward. It's sometimes easiest to write SAS code to a file in a DATA STEP and then %INCLUDE the SAS code to execute it, as shown in this paper. The following techniques used in the code are described in detail: 1. Using the PROC SQL INTO clause to copy data set values to a macro variable or series of macro variables. 2. Writing intermediate results to a temporary file (including why this is beneficial). 3. Using the little-known SAS-provided TSLIT macro to avoid needing double quotation marks around literal text that contains quotes, greatly simplifying processing. 4. Processing all elements of an array in a DATA STEP function or CALL routine with the OF operator. macro variable, proc sql, proc step, csv, if-then-else, select source 11
46 Hands-on Python PDFs: Using the pypdf Library To Programmatically Design, Complete, Read, and Extract Data from PDF Forms Having Digital Signatures Troy Martin Hughes The pypdf Python library (https://pypdf.readthedocs.io/en/stable/index.html) facilitates the programmatic creation, completion, cropping, and merging of PDF forms. Form data-including both dynamic text and field values-can be programmatically written to a PDF using pypdf, and data manually entered into PDF form fields by users can be programmatically extracted. With this combination of functionality, pypdf is a powerful tool that can build dynamically generated PDF forms that simplify user completion of forms, as well as subsequent form validation. This text introduces users to the pypdf library, and demonstrates a single use case in which copyright grant forms (CGFs, aka copyright-release or permission-to-publish forms) were automatically generated for the Western Users of SAS Software (WUSS) 2024 conference proceedings. This automation eliminated confusing language and components of the CGF-for example, by removing language specific only to US government employees (unless the author was a US government employee). Thus, in 2023, an author submitting a paper to WUSS had to navigate more than 50 unutilized fields in the CGF!! Moreover, an author completing the WUSS 2023 CGF had to enter his name, paper number, paper title, job title, and organization-information that the conference already had collected and which it should have been using to prepopulate forms for authors. Thus, the revised form and process now only requires each author to digitally sign the CGF; errors are eliminated and efficiency is maximized. This solution was developed and run on Python 3.11, and the full code is included in Appendix A. data validation rules, data cleaning source 22
47 Interactive Modeling with SAS Visual Statistics Danny R. Modlin In this presentation, we will perform statistical analysis on any size data, quickly and easily, for maximum impact. SAS Visual Statistics tasks, an add-on to SAS Visual Analytics, put the power of large-scale statistical analysis at your fingertips. Models available in SAS Visual Statistics include Linear Regression, Logistic Regression, Nonparametric logistic regression, generalized linear modeling, Generalized additive modeling, Decision tree, and Cluster analysis. We will perform a Logistic Regression as an example but will point out aspects of the other model types. logistic regression, regression analysis, logistic distribution, response variable, sas viya, feature selection, confusion matrix, data cleaning, credit score, predictor variable, score code, model validation source 28
48 Introduction to Character Strings Jason L. Ford This paper will give an introduction to using character strings. The intended audience is primarily beginning programmers, although advanced programmers may find some helpful tips and reminders as well. The paper will cover the following topics: 1. Using the length function and how SAS defaults to certain lengths for character variables. 2. Using the SUBSTR function. 3. Using the SCAN function. 4. Using the FIND function, including looking for one variable inside another. 5. Using the TRANSLATE and TRANWRD functions. 6. Using the COMPRESS function, including use of the third argument to find types of variables. 7. Using the various concatenation functions such as CAT, CATS, and CATX. 8. Using The TRIM, LEFT, and STRIP functions. 9. The various ANY and NOT functions, such as ANYALPHA and NOTALPHA. character variable, length statement, compress function, character functions, verify, index, tranwrd function, translate source 23
49 Introduction to Clustering Algorithms Jason Brinkley Clustering algorithms have become very popular in recent years as a means to extract new information from data of all types. A clustering algorithm is data driven and partitions the observed data up into a non-overlapping set of clusters with clusters having similar values in the original data. Often cluster algorithms follow two paths: quantitative and qualitative. Quantitative clustering algorithms often use continuous data and statistical measurements of 'distance' to group similar items together to form clusters. Qualitative clustering looks to take data with only a finite and fixed number of levels and group data with similar levels together. This hands on workshop will explain in detail both quantitative and qualitative clustering from both a theoretical and code driven perspective. Topics include Ward and centroid based clustering, hierarchical clustering, dendrograms and other multivariate visualizations that assist in developing or showcasing the results of a clustering algorithm. proc cluster, proc step, euclidean distance, distance measure, correlation, nominal variable, multivariate analysis, outlier source 10
50 Introduction to Developing Neural Nets David B. Horvath Neural nets have been discussed in in SAS regional and international conferences since last century, This session will be a bit different in that it starts with the obligatory basic background and then goes into actual code. We will discuss what Machine Learning can and cannot solve. There will be more discussion of the how results are produced and less about the overall concepts. Topics What is a neuron? How does a neural net model a human neuron? How does that work with data? What does it NOT solve? Discuss the biggest problems with data. Examples 1. Working data 2. Why'd we get that result? 3. More Working data 4. Why'd we get that* result? 5. Reviewing the code training set, scatter plot, machine learning, output delivery system source 17
51 Investigating the Role of Radiomics in PET Image Analysis for Improved T-Stage Tumor Staging Victor Aderanti Early cancer detection is vital for improving patient outcomes worldwide. This study focuses on advancing Region Of Interest (ROI) segmentation and feature extraction in medical imaging through Radiomics techniques, employing tools such as 3D Slicer, Pyradiomics, and Python. Various dimensionality reduction methods, including PCA, K-means, t-SNE, ISOMAP, and Hierarchical Clustering, were utilized to manage high-dimensional features, aiming to improve both interpretability and efficiency. The effectiveness of the reduced feature sets in predicting T-staging, a crucial aspect of the TNM cancer staging system, was evaluated. Multinomial logistic regression models were created and assessed using metrics such as MSE, AIC, BIC, and the Deviance Test. The dataset comprised CT and PET-CT DICOM images from 131 lung cancer patients. Results indicated that PCA identified 14 features, Hierarchical Clustering found 17, t-SNE discovered 58, and ISOMAP identified 40 features, with texture-based features being particularly significant. This research underscores the promise of combining Radiomics with unsupervised learning techniques to enhance cancer prediction capabilities from medical images. proc princomp, hierarchical clustering, feature extraction, multinomial logistic regression, logistic regression, correlation, dimensionality reduction, covariance, scree plot, standard deviation, logistic distribution, regression analysis, mse, proc step, probability distribution, agglomerative clustering, euclidean distance, silhouette, r-squared, sample source 31
52 Just Stringing Along: FIND Your Way to Great User-Defined Functions Richann J. Watson,
Louise S. Hadden
SAS provides a vast number of functions and subroutines (sometimes referred to as CALL routines). These useful scripts are an integral part of the programmer's toolbox, regardless of the programming language. Sometimes, however, pre-written functions are not a perfect match for what needs to be done, or for the platform that required work is being performed upon. Luckily, SAS has provided a solution in the form of the FCMP procedure, which allows SAS practitioners to design and execute User-Defined Functions (UDFs). This paper presents two case studies for which the character or string functions SAS provides were insufficient for work requirements and goals and demonstrate the design process for custom functions and how to achieve the desired results. proc step, proc fcmp, do loop, proc catalog, dictionary tables, user-defined format, format statement, sas function, proc format, sample, data cleaning, proc sql source 9
53 Leveraging SAS/IML for Audio Source Separation Katharine Mary Scott Audio source separation is an application of digital signal processing that targets the extraction of individual audio sources from composite audio signals. The ability to accurately separate audio sources is crucial for enhancing clarity and quality in environments where overlapping sounds present significant challenges. This study illustrates the application of Empirical Mode Decomposition (EMD) and Hilbert-Huang Transform (HHT) within SAS/IML to dissect a composite audio signal into its constituent sources. Starting with a merged audio file containing signals from different sources, the process begins with an individual analysis of baseline audio files to establish a baseline frequency distribution for each source. Utilizing EMD, the composite signal is decomposed into Intrinsic Mode Functions (IMFs), facilitating the isolation of distinct audio frequencies attributed to each source. The HHT is employed subsequently to scrutinize these IMFs in the frequency domain, ensuring the accuracy of separation. This approach is exemplified by successful separation of the distinct audio frequencies, where specific IMFs demarcate the distinct sources. The methodology concludes with the reconstruction of separated audio files, confirming the practical effectiveness through auditory verification. This presentation illustrates the capabilities of SAS/IML in handling complex audio processing tasks and provides a model for similar challenges in audio source separation. The applications of this technique extend to various fields requiring audio segmentation, such as multimedia editing, forensic analysis, and automated transcription services. proc freq, mode, sas viya, time series analysis source 13
54 Lions, Tigers and Documentation??? Brett C. Peppe,
Alan R. Mann,
John Peppe,
Chris Magill
Historically, documenting SAS programs is often relegated to the I'll get around to it bucket. This is no longer a viable strategy where SAS programmers often find themselves maintaining SAS programs written some time ago. By following a basic comment template, we demonstrate how maintenance productivity can be greatly improved and how this approach can also be applied to legacy code comment, sas log, proc step source 10
55 Log Reviewing Made Easy Peter Knapp One of the golden rules when running SAS programs is to review the Log for problems. Unfortunately, many users ignore the Log and focus on the output. Adding a dynamically generated report to the bottom of the Log that shows the number of problems (such as run-time errors, missing values, and uninitialized variables) is a great way to identify issues with the program run that need addressing. Enhancing the report to include information about the number of observations flowing through the program can not only help ensure that the program runs without mechanical errors, but also runs as expected. This presentation discusses a Log Report macro that provides summary log information, explains how it works, and details how to modify it so you can tailor it for your organization's specific needs. I developed this Log Report using SAS Enterprise Guide on a Windows environment using SAS macro and Base SAS code. The Log Report also works in SAS Studio. put statement, missing value, macro put, macro variable, call symputx, sas enterprise guide, error message, macro definition source 9
56 Look Up Not Down: Advanced Table Lookups in Base SAS Jayanth Iyengar One of the most common data manipulation tasks SAS programmers perform is combining SAS datasets and though table lookups. In the SAS programmer's toolkit many constructs are available for performing table lookups. Traditional methods for performing table lookups include conditional logic, match-merging and SQL joins. In this paper I concentrate on advanced table lookup methods such as formats, HASH objects, and the PROC SQL join. I conceptually examine what advantages they provide the SAS programmer over basic methods. I also discuss and assess performance and efficiency considerations through practical examples. hash table, lookup, cpu time, proc step, dataset, proc format, data merging, proc sql, put statement, sas log, set statement, key, sas programmer, sas base, sample, sample size, user-defined format source 20
57 Navigating Your Career: Interview Prep, Process, and Evaluation Kelly D. Smith Looking for your first position, a new position, or seeking a promotion? With everything else you need to do, it can be easy to let intentional career development slip to the bottom of your to-do list. Takeaways from this session include checklists and suggestions for successfully navigating the entire interview process from preparation to evaluation. The session will also include recommendations from professionals currently in supervisory or hiring roles. Take charge of your future now! proc sql, proc step source 7
58 Next Level Reporting: ODS and Open Source Chevell T. Parker This document describes techniques used to get started with the Output Delivery System such as an introduction to the Output Delivery System basics. Also discussed include automating and making the most out of your ODS destinations. This document will also highlight the dynamic capabilities when using ODS. The document will further drill down on the popular ODS EXCEL destination and discuss highlights and limitations of this destination. Finally, this document will discuss open-source integration in SAS and Viya platforms and how this can be used to take your reporting to the next level. Concepts will focus on techniques geared to the data analyst and SAS programmer. excel, proc step, ods pdf, output delivery system, proc fcmp, sas studio, data cleaning, proc sgplot, proc export, proc report, sample, macro variable, proc python, sas programmer, proc template, options statement source 24
59 NHANES Dietary Supplement component: a parallel programming project Jayanth Iyengar The National Health and Nutrition Examination Survey (NHANES) contains many sections and components which report on and assess the nation's health status. A team of IT specialists and computer systems analysts handle data processing, quality control, and quality assurance for the survey. The most complex section of NHANES is dietary supplements, from which five publicly released data sets are derived. Because of its complexity, the Dietary Supplements section is assigned to two SAS programmers who are responsible for completing the project independently. This paper reviews the process for producing the Dietary Supplements section of NHANES, a parallel programming project, conducted by the National Center for Health Statistics, a center of the Centers for Disease Control (CDC). dataset, proc step, proc sql, sample, create table, proc compare, quality assurance, if-then-else source 20
60 One Click to Create a List of MEPS-HC ZIP Files' Download URLs: Web Scraping with SAS and Python Pradip K. Muhuri,
Charles Z.X. Han,
John Vickery
This case study demonstrates the use of SAS and Python to automate data extraction and processing from the Medical Expenditure Panel Survey (MEPS) webpages. Both programs streamline the tasks of fetching webpages, parsing the HTML content, and generating identical outputs: a comprehensive list of 1,299 data file download URLs and associated information for 431 MEPS-Household Component (HC) public-use ZIP files in various formats (e.g., ASCII, EXCEL, SAS transport, SAS V9, and Stata), covering survey years from 1996 to 2022. This list is saved in an EXCEL spreadsheet, allowing users to download files of interest directly to their devices with a single click on each corresponding URL, offering a faster alternative to manually navigating multiple webpages. The dynamic construction of these URLs and the reuse of the SAS/PYTHON program to keep the list of data file download URLs updated streamline the process, making MEPS data file downloads from the web more efficient. excel, proc step, dataset, macro definition, proc http, filename statement, sas log, character variable, proc print, macro variable, proc report, proc sql, macro parameter, prxparse, infile statement, length statement, substr function, call execute, cpu time, order by, macro function source 20
61 PROC BGLIMM: The Smooth Transition to Bayesian Analysis Danny R. Modlin Many analysts are interested in taking models they currently have and transitioning them to the Bayesian realm. Most leap from their favorite classical analysis procedure directly to PROC MCMC, the general-purpose Bayesian procedure. This presentation will feature the BGLIMM procedure available since SAS/STAT 15.1. This will allow the participant to model non-normal responses and include random effects within their Bayesian approach. Discussion will include options of priors and availability of statements. Examples will include models originally written in PROCs REG, GLM, GLMSELECT, GENMOD, MIXED, and GLIMMIX. covariance, proc step, proc mixed, covariance structure, sample source 9
62 REDCap Your SAS Friend: Playing around in the API Playground Brooke Ellen Delgoffe In a previously published paper, you were introduced to REDCap as a tool for SAS programmers (Delgoffe & Roush, 2022). Once you've established which of many use cases REDCap can help you with (and have a functional database), you'll likely want to extract data from it. In this paper, we'll focus more on what data can be exported from REDCap using the API. At conclusion of this paper you should be able to utilize its knowledge to create successful, dynamic, SAS code. Leveraging the "cleaner than EXCEL" data to learn, innovate, and optimize is just around the corner! A few macros will be presented to assist with exporting data from REDCap including: simple exports, reports, limited variable exports, metadata, and logging. Select REDCap concepts, such as the data structure, and best use cases will also be covered to assist the SAS programmer in creating efficient export code. Brief Outline: • Introduction • The REDCap API and API Playground • Understanding Data Structure Before the Export • Reports for Simple Data Exports • Limited Variable Exports • Metadata Exports • Logging Exports • Preparing for and Executing an Upload proc http, data dictionary, proc step source 9
63 Replicating SAS Reports in R: The REPORTER Package David J. Bosak The "reporter" package is to R what PROC REPORT and ODS are to SAS. The package aspires to replicate almost any report that can be produced by SAS. This aim includes not just tables, but also listings and figures. The "reporter" package can produce reports in five different file formats: RTF, PDF, DOCX, HTML, and TXT. The package offers flexible layouts, automatic page breaking and wrapping, and supports many configurations for titles and footnotes. This paper will demonstrate some of the capabilities of the package. sample, create table, proc report, proc step source 11
64 Role of various factors impacting customer acquisition/ retention in a product-based organization using SAS. Sandeep Srivatsav Gangaraju,
Kiran Venna
Customer acquisition and retention are among key performance metrics for any organization. Important factors that impact customer acquisition/retention include acquisition channels, product life cycle, understanding of market segments. This paper presents a case study on a fictitious company, which is a location-based service provider that enables users to share their location with friends and family. We will also explore on how customer acquisition and retention are dependent on the above factors. With the help of SAS graphs and EXCEL retention curves, we will demonstrate how each factor impacts customer acquisition and retention. customer retention, line chart, excel source 9
65 SAS and Analytical Research: A Primer for Qualitative Analysis Kelly D. Smith New SAS users are often encouraged to use lexjansen.com as a resource when they hit a coding bump. As of May 31, 2024, the website contained more than 38,000 conference papers that can be searched by title, author, or keyword (thank you Lex!). How can a new SAS user figure out the paper(s) most likely to be helpful? Perhaps they could find a "primer" or "introduction" paper. A search for "primer" yielded fewer than 100 papers; "introduction" returned nearly 800 papers. Searching for a specific PROC can return an overwhelming number of papers. For example, there are nearly 4,800 papers focused on "PROC FREQ." What if a new SAS user isn't sure what procedure is the best choice? What if they are looking for information in a more general sense, perhaps qualitative analysis? Papers focused on qualitative analysis are rare at lexjansen.com; a search for "qualitative," "qualitative analysis," and "text analysis" yielded fewer than 50 papers total. A search for the terms "categorical" and "categorical analysis" yielded fewer than 100 papers. To help fill the gap, this session is intended for new SAS users. Information presented is intended to serve as a primer for qualitative analysis with SAS 9.4 or Enterprise Guide. Takeaways include an overview of the types of qualitative analysis that can be performed, useful procs, and a set of helpful hints on qualitative analysis with SAS. proc step, proc freq, index, sas base, proc means source 8
66 SAS and Python can complement each other in statistical modeling Valentina Grouverman,
Lindzee Smith
Statistical modeling is a significant part of data scientists' work as well as many SAS programmers. In the past we used mostly SAS and relied on its standard procedures as regressions. Now Python can provide us additional functionality and flexibility. Its compatibility with most cloud platforms and continuously increasing number of libraries and packages available for data analysis, modeling and machine learning made Python an ideal choice for statistical modeling in cloud environments. This article illustrates how SAS and Python can complement each other in model's development when we can effortlessly switch between these languages and see benefits of this adaptable approach. data visualization, sample, data science, regression analysis source 5
67 SAS Job Searching and Interviewing tips - Strategies in the Post-Pandemic era Jayanth Iyengar Searching for work in the data analytics market is more competitive than ever before. Part of this is due to the nature of the work environment, which has shifted from in office, on-site to remote and hybrid positions. Also, because of the emergence and growth of open-source tools, such as R and Python, candidates for SAS positions need to be familiar with these coding tools. In this paper, I'll outline tips and strategies for success in the application and interview process in the post-pandemic era. I'll also discuss the interview process in detail, from initial HR interviews to final interviews with a hiring manager. sample, proc step, sas programmer, proc sql source 17
68 SAS Programming Methods to Identify Episodes of Hospital Readmissions Jennifer Cano,
Cainnear K. Hogan,
Taylor N. Whittington,
Julien Weinstein,
Scott J. Denstaedt,
Sarah M. Seelye,
Hallie C. Prescott
Cause-specific hospital readmissions (e.g., readmission for infection, readmission for cardiovascular disease) are an important outcome in many clinical studies. However, identification of cause-specific readmissions requires complex coding and consideration of longitudinal hospital encounter data. Using SAS programming tools to facilitate data manipulation, we describe a concise method for identifying cause-specific readmissions that can be adapted to identify readmissions for different causes and over different time horizons. lag function, proc step, sas programming, proc sql source 10
69 Sending Email via SAS - An Introduction and More Advanced Concepts Bruce Nawrocki There are many instances when you might like to notify your co-workers when a SAS dataset or report has been updated. If you are creating these emails yourself, you might save a lot of time by writing SAS code to write these emails for you. For example, upon successful SAS code completion, a few additional lines of SAS code can create a simple text-based email. Your email can be customized by modifying fonts and layouts. More advanced techniques can be used to write SAS procedure output, include images, or attach files. filename statement, dataset, proc step, options statement, macro definition, ods html source 8
70 Special Control Charts for Rare Events: G-charts and T-charts Melvin T. Alexander The year of 2024 marks the 100th anniversary when Walter Shewhart introduced Statistical Quality Control Charting methods for monitoring various processes such as: manufacturing operations, industrial production, hospital epidemiology, and healthcare-outcome surveillance. Numerous control charts have been developed since. This presentation applies two special Shewhart-type (SPC) control charts, G- and T- charts, that monitors time-between-event (or rare event) situations. The example in this presentation monitors discharged patients who were admitted due to different COVID-19 variants of concern from March, 2021 through December, 2023. I will review background and situations where and how these charts are used, review the basics for their construction, and analyze data using the COVID-19 hospitalization discharge example. I will produce charts using JMP and R Integration that compare and contrast both tools. geometric distribution, binomial distribution, weibull distribution source 15
71 Streamlining Vaccine Study Output Generation with a Versatile Efficacy Macro Zhengyang Shi With the increasing prominence of vaccine studies with efficacy analysis, the need for standardized output generation and improved programming efficiency becomes critical. A vaccine efficacy macro has been developed supporting multiple methods and dynamic control over output formats and information. The paper provides an overview of the vaccine efficacy macro's design, output structure, highlight key features and provides an example macro call. confidence interval, adam dataset, efficacy summary, binomial distribution, subgroup analysis source 6
72 Tales From a Tech Support Guy: The Top Ten Most Impactful Reporting and Data Analytic Features for SAS Programmers Chevell T. Parker This paper helps you get the most out of SAS software by discussing some features that can make a big impact on your job as a SAS programmer or a data analyst. Some of the areas covered include the following: • features that highlight the power of SAS reporting, which allow SAS programmers to generate customized reports • SAS integration with open-source tools, as well as automation • some of the most impactful features in SAS Viya excel, proc step, ods pdf, output delivery system, proc fcmp, sas studio, data cleaning, proc sgplot, proc export, proc report, sample, macro variable, proc python, sas programmer, proc template, options statement source 24
73 Ten Rules for Better Charts, Figures and Visuals Kirk Paul Lafler The production of charts, figures, and visuals should follow a process of displaying data in the best way possible. However, this process is far from direct or automatic. There are so many ways to represent the same data: histograms, scatter plots, bar charts, and pie charts, to name just a few. Furthermore, the same data, using the same type of plot, may be perceived very differently depending on who is looking at the figure. A more inclusive definition to produce charts, figures, and visuals would be a graphical interface between people and data. This paper highlights and expands upon the work of Nicolas P. Rougier, Michael Droettboom, and Philip E. Bourne by sharing ten rules to improve the production of charts, figures, and visuals. bar chart, proc sgplot, histogram, proc step, scatter plot, proc sgpanel, excel, vertical bar chart, box plot, bubble plot, proc freq, data science, series plot, class variable, correlation source 19
74 The 5 CATs in the Hat - Sleek Concatenation String Functions Kirk Paul Lafler SAS functions are an essential component of the SAS Base software. Representing a variety of built-in and callable routines, functions serve as the "work horses" in the SAS software providing users with "ready-to-use" tools designed to ease the burden of writing and testing often lengthy and complex code for a variety of programming tasks. The advantage of using SAS functions is evident by their relative ease of use, and their ability to provide a more efficient, robust, and scalable approach to simplifying a process or programming task. SAS functions span several functional categories, including character, numeric, character string matching, data concatenation, truncation, data transformation, search, date and time, arithmetic and trigonometric, hyperbolic, state and zip code, macro, random number, statistical and probability, financial, SAS file I/O, external files, external routines, sort, to name a few. This paper highlights the old, alternate, and new method of concatenating strings and/or variables together. sas function, character functions source 3
75 The Battle of the Titans: DATA Step versus PROC SQL Kirk Paul Lafler,
Charu Shankar,
Richann J. Watson,
Joshua M. Horstman
Should I use the DATA STEP or PROC SQL to process my data? Which approach will give me the control, flexibility, and scale to process data exactly the way I want it? Which approach is easier to use? Which approach offers the greatest power and capabilities? And which approach is better? If you have these and other questions about the pros and cons of the DATA STEP versus PROC SQL, this presentation is for you. We will discuss, using real-life scenarios, the strengths (and even a few weaknesses) of the two most powerful and widely used data processing approaches in SAS (as we see it). We will provide you with the knowledge you need to make that difficult decision about which approach to use to process all that data you have. proc sql, proc step, create table, group by, inner join, relational database, select, if-then-else source 22
76 The Dreaded Data Type Conversion, Character to Numeric, Numeric to Character, a Deep Dive. Emily F. Zucker Data type conversions are an inevitable part of the job of a SAS programmer. Statistical analysis and mathematical functions require the variables to be numeric, while readability require the variable to be character. Sometimes, you pull in data from a database or EXCEL and it is not read in as the desired data type. You may need to change the type to perform a specific function and then change it back. Changing the data type seems like an easy, fast process initially, but when you can't remember the exact function and inputs for your desired outcome, it can be a frustrating pause to your flow. To reduce this confusion, a deep dive is given to understand how SAS stores character and numeric data, the methods of converting data types with a focus on PUT and INPUT functions, some examples where data conversions are useful for data manipulation, and some memory tricks are offered to hopefully eliminate that annoying google search once and for all. input statement, character variable, numeric variable, length statement, sas enterprise guide, excel, dataset, format statement, put statement, data science source 12
77 The Essentials Given - Becoming an Expert of Statistical Programming in Pharma & Health Care Industry Hongbo Li In the drug development industry, statistical programming plays an indispensable role for clinical trials or real world data analysis. No matter handling the raw data to submission format data and to analysis-ready data, or creating tables, figures and listings, those deliverables are usually generated by statistical programmers. The responsibilities and duties of statistical programmers also include developing data specifications and programming standards to comply with regulatory requirements and guidelines. Therefore, the good quality of statistical programming work will benefit the entire clinical trial or real world data processing and analysis. How to become an expert in statistical programming? Based on the author's past more than 15 years industry experience, excellent coding/programming skill (using SAS, R or other software) is not enough at all. Statistical programmers work with biostatistician and data management very closely, and also collaborate with other functional teams like clinical operations, medical writing/clinical development, regulatory affairs, PV (pharmacovigilance), PK/PD (pharmacokinetics/pharmacodynamics) and Biomarker etc. Thus, a good statistical programmer should not only have programming technical, but also statistical knowledge (understanding SAP, mock shells, and statistical modelling etc.), clinical/medical knowledge (for example, knowledge on clinical trials), familiar with CDISC standards and regulatory requirements/compliance checks, having idea about EDC database (electronic data collection system) and performing UAT (user acceptance test) as well as external data collection/transfer process. Also, project management skills and collaborative abilities with cross-functional teams are the essentials to have too for a good statistical programmer. This paper aims to conduct a discussion on those key elements to become an expert in statistical programming area. Currently, statistical programmers are in high demand due to the growing importance of new drug development in the pharmaceutical and health care industry. Although artificial intelligence technology develops rapidly, the role of statistical programmers is still crucial in the design, development, and execution of data collection, cleaning, manipulation, and statistical analysis. It makes a meaningful contribution to the scientific research for drug development. statistical programmer, clinical programming, clinical trial, clinical research, data governance, mock shell, clinical data, data science source 5
78 The SAS Data Set Missing Values Analyzer Michael A. Raithel Occasionally, we receive very wide SAS data sets with hundreds or thousands of variables. The data could have been extracted from Blaise, downloaded from a SQL Server table, obtained from an Oracle table, or sent by a client. Not all of the variables in the large SAS data set may have data stored in them. This can happen for any number of reasons, such as partial surveys, test tables, database tables with variables in them for future use, and upstream processing issues. It is useful to know which variables actually have values stored in them. Analysts can concentrate on analyzing those variables and skip the others. Completely empty variables may indicate a problem with a file. Missing values might signify an issue with the collection instrument's skip patterns. Perhaps the chronically-missing variables can be dropped from the SAS data set or from the originating database tables. Additionally, it is sometimes be helpful to know which variables hold values for the individual cases within the SAS data set. The SAS Data Set Missing Value Analyzer identifies all of the variables that have one or more non-missing value in them for a given SAS data set. The program creates four types of EXCEL report files: • Count of the Variables That Have Non-Missing Values For Each Distinct ID Variable • Characteristics of All Variables With At Least One Non-Missing Value • Characteristics of Variables With ALL Missing Values • Optionally, a separate report for each distinct ID Variable titled: Characteristics of The Variables with One or More Non-Missing Values This presentation reviews the SAS Data Set Missing Value Analyzer macro program and the report files it creates. Attendees can begin using the macro directly after attending this session. dataset, missing value, macro variable, do loop, numeric variable, excel, proc step, proc print, proc sql source 20
79 Thinking outside the box: Leveraging UNIX Tools (GNU) for Data Analysis and Validation David B. Horvath What do you do when you get a file that is too big to look at under windows (too wide a record or too many records or both)? How do you know the CSV or TAB-delimited file really is? When you get a fixed format file, how do you figure out what the field at position 468 really looks like (what data it contains)? I end up using tools available under UNIX/Linux/POSIX to help me look at the data and perform some validation. Those commands include head, tail, more (or less or pg), view, od, wc, dd conv (ASCII/EBCDIC conversions), and even simple AWK scripts. While these commands may look like gibberish now, they will make sense by the time this session is done. And when there are data issues, finding the specific record that caused the problem can be difficult under Windows. These tools are available for the Windows/PC environment too. The GNU-based Cygwin environment comes in very handy! And for those who prefer the MAC OSX operating system, you already have these tools! output delivery system, record count, sample, red hat source 15
80 This Works on So Many Levels: Building Summary Tables in SAS with Hash Programming David V. Cole Hash programming in SAS allows users to store and retrieve information from in-memory objects. While often thought of first as a means for more efficient table lookups, hash programming has much broader applications, in large part because it is used within DATA-step processing. The creation of summary tables is a common task in SAS. While hash can be used to create simple summary tables via straightforward code, the programming techniques can be extended and combined with other DATA-step functionality to generate multi-level summaries within a single DATA STEP from one pass through the data. This paper discusses the considerations behind using hash to construct various types of summaries and provides code to demonstrate how to use the power of hash in SAS to create flexible, efficient code for complex tasks. hash table, out=, hash iterator, in=, proc step, do loop, missing value, macro variable, proc means source 15
81 Towards understanding Neurological manifestations of Lyme disease through a machine learning approach with updated patient registry data Mira Shapiro,
Lara Kassab,
Jingyi Liu,
Deanna Needell,
Lorraine Johnson
The Centers for Disease Control and Prevention (CDC) estimates that more than 476,000 new cases of Lyme disease occur annually. Many patients remain ill after treatment, and these patients are often referred to as having persistent or chronic Lyme disease (PLD/CLD),and it is estimated that nearly 2 million people in the US have PLD/CLD. PLD/CLD patients suffer from significantly impaired quality of life, utilize healthcare services more frequently and have greater limitations on their ability to work than the general population and patients with other chronic diseases. Neurological symptoms are common in PLD/CLD and have been linked to functional and structural changes in the brain. Very little, however, is known about the neurological manifestations of Lyme disease-contributing factors, diagnostic tools, or best treatments. Here, we analyze the MyLymeData patient registry, a project of LymeDisease.org, that contains over 18,000 patients with Lyme disease. Through statistical analysis and state of the art machine learning (ML) methods, we identify common patterns across patients with neurological symptoms. We compare the statistics across subgroups of neurological symptoms both statistically and through ML topic modeling based on unsupervised non-negative matrix factorization. This research was previously presented at PharmaSUG 2024 and has been updated with a revised sample. sample, proc means source 7
82 Unanticipated Results: Uncovering Five Unexpected Outcomes in PROC SQL Joins Kiran Venna This paper explores five scenarios where unexpected results may occur when using PROC SQL joins. The first scenario investigates the impact of missing values in datasets used in a join. The second scenario examines how the order of multiple tables in a join can affect the results. The third scenario focuses on unexpected outcomes in a LEFT JOIN when a WHERE clause is used instead of an AND condition. The fourth scenario addresses the issue of joining datasets without considering duplicates from the joining datasets. Lastly, the fifth scenario explores the potential for unexpected results when using joins based on the INDEX function or the LIKE operator. missing value, proc sql, where statement, proc step, index, data merging, inner join, sample source 15
83 Unlocking Insights: Harnessing Supervised Machine Learning for Advanced Data Analysis Vindhya Hegde Machine learning utilizes the approach of supervised learning to train algorithms for labeled data so that the prediction of output labels is accurate. For this project, five machine learning models have been developed and evaluated using a cancer dataset with 570 cell samples having 30 features to distinguish between benign and malignant tumors. The main objective of this project is to train these models on labeled data to achieve high predictive accuracy for new, unseen tumors to increase diagnostic efficiency and reliability in clinical settings. Python is used for data analysis and model development. PySpark is used in handling big data. Preprocessing of the dataset using Pandas and PySpark ensues in some key transformations, such as StringIndexer and StandardScaler. These models are implemented using Logistic Regression, Decision Tree, Random Forest, Gradient Boosting, and Support Vector Machine from PySpark's MLlib training set, proc hpsplit, logistic regression, regression analysis, gradient boosting, proc hpforest, machine learning, support vector machine, logistic distribution, test set, data cleaning, supervised learning, sample source 23
84 Unveiling the Diagnostic Potential of Radiomics-Based PET and CT Imaging through Statistical and Machine Learning Techniques Mostafa Zahed,
Janet Kireta,
Victor Aderanti,
Maryam Skafyan
Cancer remains a critical global health issue, with early detection and diagnosis essential for successful treatment. This research explores the integration of Radiomics techniques, utilizing advanced imaging modalities such as CT and PET-CT, to enhance the precision of medical image analysis for cancer detection and staging. Radiomics involves extracting quantitative features from medical images and applying machine learning for disease prediction, addressing the challenge of high-dimensional data through effective dimension reduction techniques. Utilizing datasets from medical universities in China, including a 2022 dataset from Harbin Medical University with CT and PET-CT images of 131 lung cancer patients, this study demonstrates the application of dimension reduction methods like PCA, K-means clustering, and Hierarchical Clustering using R, SAS, and Python. These techniques successfully reduced the number of features from 110 to 39 with PCA and to 21 with clustering. Texture-based features, particularly those in the second-order radiomics category, were identified as the most significant for lung cancer diagnosis and prediction. This research underscores the potential of Radiomics and unsupervised learning techniques to optimize feature extraction and reduction processes, enhancing the interpretability and efficiency of cancer prediction models from medical images. The findings highlight the crucial role of texture-based features in improving cancer diagnosis and treatment planning, providing valuable insights for future research and clinical applications. proc princomp, hierarchical clustering, feature extraction, scree plot, dimensionality reduction, feature selection, correlation, agglomerative clustering, cluster analysis, standard deviation, data science, proc cancorr source 21
85 Using Data Visualization to Explore the Association Between Education and Mortality: Insights from the 2012-2018 National Health Interview Survey Linked Mortality Files Cindy Zhang,
Jessie Parker,
Yeats Ye,
Cordell Golden
The National Center for Health Statistics (NCHS) has a long-established data linkage program that integrates NCHS health survey data with vital records and other administrative data to expand the analytic potential of both the survey and administrative data. Integrating survey and administrative data provides a powerful mechanism for creating policy-relevant data resources to support the examination of factors that can influence disability, chronic disease, health care utilization, morbidity, and mortality. The NCHS survey data provide a rich source of information on health behaviors, health conditions, healthcare access and utilization, and socioeconomic status. When integrated with death certificate information from the National Death Index, data users are able to explore the association between these factors and mortality. To demonstrate this potential, the SAS Viya AI and Analytic Platform was used to explore data from the public-use 2012-2018 National Health Interview Survey Linked Mortality Files (with mortality follow-up through 2019). PROC SURVEYFREQ and PROC SURVEYPHREG were used for the analysis to assess the relationship between the level of education attainment and mortality for adults aged 25 and over at the time of the survey. PROC SGPLOT and PROC SGPANEL were applied to visualize the key variables (education level and mortality status) and the outcomes (hazard ratios) across age stratified subgroups and top causes of death. The findings from the analysis visually illustrated the reduced risk of mortality associated with higher education levels. This project demonstrates how the NCHS Linked Mortality Files can be used to explore associations between socioeconomic factors and risk of mortality and how the procedures available in SAS Viya can serve as powerful tools for data analysis and visualizations. proc step, proc gchart, proc sgpanel, proc sgplot, exploratory data analysis, proc freq, data science source 25
86 Using Formats to Subset Impossibly Large SAS Datasets Michael A. Raithel SAS programmers are finding themselves working with larger and larger SAS datasets. As the size of SAS datasets increase, so too does the strain on computing resources. Programs that took minutes to execute are running longer and longer as the number of observations increases. Sometimes the SAS datasets are so large that normal programming practices such as match-merging files simply fail due to their overwhelming the available computer resources. This particular issue can surface when you are using a file of ID variables to subset an impossibly large SAS dataset. What to do? This presentation illustrates a methodology for overcoming computing resource issues when matching a SAS dataset of ID variables to a very large SAS dataset in order to extract matching observations. The method starts with the creation of a SAS format with the ID variables of the smaller SAS dataset. Once created, the format is used in a sequential read of the larger SAS dataset to select only those observations that match to the ID variable values stored in the format. Consequently, this methodology uses a single pass of each of the SAS datasets, so no sorting or match-merging of the datasets is necessary. Attendees can begin using this technique in their programs that subset impossibly large SAS data sets immediately. dataset, proc format, proc step, format statement, flat file source 7
87 Using PROC PSMATCH for Assembling Parallel Test Forms Tsung-Hsun Tsai,
Yung-Chen Hsu
In testing organizations, a pivotal undertaking within the test development cycle involves constructing multiple parallel forms, each comprising items with comparable characteristics and qualities. Drawing from the perspective of equivalence as akin joint distributions of test item traits, we leverage the matching capabilities offered by the PSMATCH procedure to establish links between item selections through matching, thereby enabling the construction of uniform parallel tests. The goal of assembling psychometrically equivalent tests transforms into the task of generating joint distributions of item characteristics resembling a known distribution. We elucidate the principle and essential concepts underlying this process, demonstrating how PROC PSMATCH automates the creation of parallel tests. Intended for an audience with a basic understanding of SAS/STAT software, this work offers insights into streamlining test development procedures. propensity score, proc step, mahalanobis distance, randomization, box plot source 11
88 Using SAS and R to Create Plot for Temperature Study Abbas S. Tavakoli,
Isabelle Bennett,
Robin B. Dail
Temperature control is important for the health of premature babies. One way to monitor body temperature in premature infants is through continuous measurement of central (abdominal) and peripheral (foot) skin temperature. Fourteen premature infants, born ≤ 32 weeks gestational age and birthweights < 1500 grams were enrolled for study after Institutional Review Board approval and parental consent for participation in this study. Each infant had one skin temperature probe (thermistor) attached to their abdomen and one skin temperature probe to the sole of one foot. Data were stored in the GE Healthcare Omnibed Carestation and were downloaded to a laptop computer. . The data for each day included about 86,400 rows. The final datasets for each infant included averaged data for every minute of all variables for 28 days. Lag and several functions in SAS were used to prepare data for analyses. Several programs were used to delete unnecessary rows, create minutes from the time each infant was born to the time infants completed data collection, to replace missing minutes, combine and merge different datasets. GPLOT procedure in SAS and R software were used to create graph. Data creations were performed using SAS/STAT statistical software, version 9.4. excel, data science, dataset, proc gplot, statistical software source 10
89 Using SAS In Analyzing Trends in Corn Yields, Surface Temperature, and Precipitation in U.S. South Atlantic Census Division States Abdullah Khan Abstract Utilizing SAS ODA web application, this paper analyzes a panel dataset regarding corn yields, surface temperatures, and precipitation in the South Atlantic Census Region. The contiguous eight states that belong to the U.S. South Atlantic census region include Delaware, Florida, Georgia, Maryland, North Carolina, South Carolina, Virginia, and West Virginia. Corn (Maize) is a versatile crop utilized both as a grain and vegetable. However, according to a few recent agro-climatic simulation studies, corn and other agricultural products' yields may be adversely impacted due to climate change. Most of these studies rely on data representing larger spatial units. Recognizing the imperative of microclimate studies, this paper analyzes county-level data, state-level data, and census division-level data to examine trends of corn yields, surface temperature, and precipitation and explore direction, magnitude and statistical significance of correlation coefficients and regression coefficients of variables of interest. At the individual state-level, most of the states within the South Atlantic division displayed positive correlations between corn yields and temperatures and corn yields and precipitation with an exception for two states. West Virginia data showed a statistically significant negative correlation between temperature and corn yield. Florida showed a negative correlation between temperature and corn yield, but this result is not statistically significant. According to the regression results, for the South Atlantic division the estimated coefficients of temperature variable are negative and statistically significant across the baseline model, and the variant models with log-transformed variables and annual growth rate variables. Key words: SAS, corn yields, surface temperature, precipitation, U.S. South Atlantic Census region, Data Visualization, Correlation, Trends, Regression correlation, regression analysis, anova, missing value, response variable, estimate, proc reg source 31
90 Using Visual Studio Code to Write SAS Code - A Primer Bruce Nawrocki Using a new UI (User Interface) to write code may come at a cost - the learning curve can hamper a programmer's productivity. For instance, where are the shortcuts that used to work in my old UI, one might ask? How can I do [insert some task you've always done here] in the new UI? We have seen this happen even if a programmer moves between SAS UI options - such as a SAS 9.4 programmer moving to SAS Enterprise Guide. And if multiple programmers within an organization (SAS and R programmers, for example) use different editing tools, they may be less able to help each other when issues arise. Visual Studio (VS) Code may provide an answer for this issue. Programmers of R and Python have been using this tool for a while. Recently, SAS Institute has created an extension for SAS coders to use VS Code as their editing tool. This talk will discuss getting started with the SAS extension for VS code, and programming tips. sas enterprise guide, sas 9, proc step, proc sql, character functions source 8
91 Utilizing SAS to Create HTML Codebooks: Part Two! William Zachary Smith Creating codebooks for datasets is an important part of delivering a high-quality data product package to a client or stakeholder. However, codebooks for datasets with a large volume of variables can often become cumbersome to create, and prone to human error, when having to manually compile the variable information into an elegant format. To reduce the amount of effort required and room for error, a SAS program was created the reads in all the variable information from an EXCEL spreadsheet and transforms that information into a formatted and easily navigable HTML codebook. This paper will demonstrate how to integrate HTML code into your SAS programs to create such codebooks. The methods presented in this paper build upon those presented in Part One during SESUG 2023 by diving deeper into the HTML code that can be used to better format, modify and elevate your HTML codebooks. excel, put statement, proc step, file statement, proc sort, label statement source 12
92 Utilizing SAS to Remedy Issues with Long Character Variables Piotr Krzystek Character variables, otherwise known as string variables, contain non-numeric values and are read by a statistical program system as being in text format. The response values for character variables can be discreet and categorical in nature, such as listing single-lettered multiple-choice responses or the names of months. Other character variables can be open-ended, and each observation can possess unique values such as user-entered free text responses to questions in a survey. Some character variables can possess large lengths that may present issues for some statistical programs to read datasets properly. SAS software provides built in solutions to these issues where other statistical programs do not. The purpose of this paper is to present issues that may arise with long character variables and describe how SAS can be utilized to remedy them. The outline for this paper includes defining the types of character variables, common issues that may arise with character variables that are defined as long, and suggestions for SAS code that can be utilized to remedy these issues. The version of SAS utilized for this paper is 9.4, and users would need a basic understanding of DATA STEP syntax to edit and run the code. character variable, data step, proc step, tranwrd function, proc freq source 5
93 Who's Bringing That Big Data Energy? A 47-Year Longitudinal Analysis of 30,000 Presentations in the SAS User Community To Elucidate Top Contributors and Rising Stars Troy Martin Hughes This analysis examines presentations at SAS user group conferences between 1976 and 2023. It includes presentations referenced on www.LexJansen.com (aka "the LEX") during this timeframe, which are drawn from multiple conferences, including: SAS User Group International (SUGI, may she rest in peace), SAS Global Forum (SGF, may she be revived), SAS Explore, Western Users of SAS Software (WUSS), Midwest SAS Users Group (MWSUG), South Central SAS Users Group (SCSUG), Southeast SAS Users Group (SESUG), Northeast SAS Users Group (NESUG), Pacific Northwest SAS Users Group (PNWSUG), and Pharmaceutical Software Users Group (PharmaSUG). This analysis identifies top contributors, including authors who have presented most abundantly at specific conferences, as well as across all conferences. For example, the SAS superstars and most prolific presenters of all time are ranked and recognized for bringing that big data energy (BDE)-Kirk Paul Lafler, Arthur L. Carpenter, Louise Hadden, Charlie Shipp, and Ronald J. Fehd! Rising stars, who may be new to the conference scene, yet are contributing significantly, are also identified. In addition to quantifying and extolling the contributions of these authors, this analysis aims to assist the leaders of future conferences in identifying key speakers to invite. Threats to data quality are also discussed-the reality of third-party data, as conferences often feed the LEX with raw presentation metadata that either are unstandardized or have patently wrong information (like incorrect author names or missing coauthors). Finally, and perhaps with some irony, Python 3.11.5 (and Pandas 2.1.0) was used exclusively to extract, clean, transform, and analyze all data. data cleaning, outlier, proc freq, adverse events, macro facility, time series analysis source 36

Back to Conf go 2025 go 2023

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.