Discover More Tips and Techniques on This Blog

SAS in Clinical trials:

Clinical trials:

Clinical Trails

Clinical Trials Terminology for SAS Programmers

A Simple Solution for Managing the Validation of SAS Programs

Electronic Clinical Data Capture

Pharmaceutical Programming: From CRFs to Tables, Listings and Graphs

SAS Programming in the Pharmaceutical Industry

SASâ Programming Career Choices In The Health Care Industry

Some Statistical Programming Considerations for e-Submission

The Changing Nature of SAS Programming in the Pharmaceuticals Industry

Managing Clinical Trials Data using SAS® Software

Quality Control and Quality Assurance in Clinical Research: SAS

CDISC:

An Introduction to CDISC:

CDISC: Why SAS® Programmers Need to Know

CDISC Implementation Step by Step: A Real World Example

CDISC standards

Supporting the CDISC standards

How to test CDISC Operation data Model (ODM) in SAS

The Use of CDISC Standards in SAS from Data Capture to Reporting

Clinical Data Model and FDA/CDISC Submissions

Creating Case Report Tabulations (CRTs) for an NDA Electronic Submission to the FDA

SDTM-annotated CRFs

Data Integrity through DEFINE.PDF and DEFINE.XML

SAS® and the CDISC (Clinical Data Interchange Standards Consortium)

Implementing an Audit Trail within a Clinical Reporting Tool

The CDISC ODM Study Designer :User Manual

XML Basics for SAS Programmers



Annotation of CRFs:

Trial eCRF Pages

Using SAS to Speed up Annotating Case Report Forms in PDF Format

ANNOTATED CASE REPORT FORM AUTOMATION SYSTEM

Annotated CRF 1: Download(CTN0008_SDTM_annotation_20070413.pdf - 2179Kb) Annotated CRF 2: Download(CTN001_SDTM_ANNOTATION_20070330.pdf - 564Kb) Annotated CRF 3: Download(CTN002_SDTM_ANNOTATION_20070403.pdf - 560Kb)
Study Protocol 1: Download
(NIDA-CTN-0001_Bup_Nx_vs_Clonidine_Inpatient_Protocol_v.5b_112700.pdf - 192Kb)

Online Study materials:

Fundamentals of Using SAS (part I)
Introduction to SAS
Descriptive information and statistics
An overview of statistical tests in SAS
Exploring data with graphics

Fundamentals of Using SAS (part II)
Using where with SAS procedures
Missing values in SAS
Common SAS options
Overview of SAS syntax of SAS procedures
Common error messages in SAS

Reading Raw Data into SAS
Inputting raw data into SAS
Reading dates into SAS and using date variables

Basic Data Management in SAS
Creating and recoding variables
Using SAS functions for making/recoding variables
Subsetting variables and observations
Labeling data, variables, and values
Using PROC SORT and the BY statement
Making and using permanent SAS data files (version 8)

Data Management:
How do I make unique anonymous ID variables for my data?
How can I create an enumeration variable by groups?
How can I see the number of missing values and patterns of missing values in my data file?
How can I count the number of missing values for a character variable?
How can I increment dates in SAS?How can I find things in a character variable in SAS?
How do I standardize variables (make them have a mean of 0 and sd of 1)?
Is there a quick way to create dummy variables?

Reading/Writing Data Files
How do I read a file that uses commas, tabs or spaces as delimiters to separate variables?
How do I read a delimited file with missing values?
How do I read a delimited file that has delimiters embedded in the data?
What are some common infile options for reading a raw data file?
How do I read raw data files compressed with gzip (.gz files) in SAS?
How do I write a data file that uses commas, tabs or spaces as delimiters between variables?How do I read/write Excel files in SAS version 8?

Reading/Writing SAS Files with Formats
How do I use a SAS data file with a format library?
How do I use a SAS data file when I don't have its format library?

Other:
How can I change the way variables are displayed in proc freq?
How can I put a value from a data file to a macro variable?
How can I create tables using proc tabulate?


My SAS Manuals: 1. Basic and 2. Applications (Preliminary Version) ZIP file (about 400meg)
source:www.estat.com

Procedures
PROC MEANS More than just your average procedure(PDF) by Peter R. Welbrock
The power of PROC FORMAT(PDF) by Jonas V. Bilenas
Ten Things You Should Know About PROC FORMAT(PDF) by Jack Shoemaker
PROC SQL for DATA Step Die-Hards(PDF) by Christianna S. Williams
An Introduction to the SQL Procedure(PDF) by Chris Yindra
Alternatives to Merging SAS Data Sets … But Be Careful(PDF) by Michael J. Wieczkowski
Handling Missing Values in the SQL Procedure(PDF) by Danbo Yi & MA Lei Zhang
Creating and using indexes in SASCreating and using formats and format libraries in SAS
Using multidimensional arraysGood Programming Practices
Bulletproofing Your SAS Results(PDF) by Vanessa Hayden
Clean-up, Comments and Code - Making it Maintainable(PDF) by Clay and Lori MartinSAS Program Efficiency for Beginners(PDF) by Bruce Gilsen
Coding for Posterity(PDF) by Rick AsterOutput Delivery System(ODS)
ODS, YES! Odious, NO! – An Introduction to the SAS Output Delivery System(PDF) by Lara Bryant, Sally Muller & Ray Pass
ODS for Data Analysis: Output As-You-Like-It in Version 7(PDF) by Christopher R. Olinger and Randall D. Tobias, from SUGI Proceedings, 1998, courtesy of SAS.
Making the SAS Output Delivery System (ODS) work for you(PDF) by William Fehlner, from SUGI Proceedings, 1999, courtesy of SAS.
Twisty Little Passages All Alike, Output Delivery System (ODS) Templates Exposed(PDF) by Chris Olinger, from SUGI Proceedings, 1999, courtesy of SAS.
Converting Multiple SAS Output Files to Rich Text Format Automatically without Using ODS

SAS Macros
Getting Started with Macros(PDF) by Ian Whitlock
Moving from Macro Variables to Macros(PDF) by Lisa Sanbonmatsu
Macros from Beginning to Mend A Simple and Practical Approach to the SAS Macro Facility(PDF) by Michael G. Sadof
An Introduction to Macro Variables and Macro Programs(PDF) by Mike S. Zdeb
Creating Macro Variables via PROC SQL(PDF) by Mike S. Zdeb
More About “INTO:Host-Variable” in PROC SQL: Examples(PDF) by John Q. Zhang
Macro Quoting Functions, Other Special Character Masking Tools, and How To Use Them(PDF) by Arthur L. Carpenter
Secrets of Macro Quoting Functions – How and Why(PDF) by Susan O’Connor
&&&, ;;, and Other Hieroglyphics Advanced Macro Topics(PDF) by Chris Yindra, C. YDeveloping, Managing, and Evaluating a Standard Macro System by Albert MoPROC SQL:
An Introduction to Proc SqlTop Ten Reasons to Use PROC SQL

ENTERPRISE GUIDE:
SAS Enterprise Guide for SAS Programmers
Using SAS® Enterprise Guide® to Code When You’re Not aProgrammer
The New World of SAS®: Programming with SAS® EnterpriseGuide®
SAS Enterprise Guide:Data Manipulation, Reports,& Statistical Procedures
Introduction to Using SAS® Enterprise Guide® for Statistical Analysis

SAS Graph:
Improving Your Graphics Using SAS/GRAPH® Annotate Facility
A Powerful Macro to Control Title Appearance in SAS/GRAPH® OutputSAS/GRAPH® 101
Using ODS Styles with SAS/GRAPH®
ODS Statistical Graphics for Clinical Research
Know Your AREA!Creating Professional SAS® Graphics in Clinical Safety Data byUsing the AREAS Option in PROC GPLOT.

Other
Debugging 101(PDF) by Peter Knapp
Those Missing Values in Questionnaires(PDF) by John R. Gerlach & Cindy Garra
Avoiding Mayhem in the New Millennium: Working with Missing Data(PDF) by JoAnn Matthews
Simplifying Complex Character Comparisons by Using the IN Operator and the Colon (:) Operator Modifier(PDF) by Paul Grant
Arrays: In and Out and All About(PDF) by Marge Scerbo
Complex Arrays Made Simple(PDF) by Mary McDonald, PaineWebber Incorporated
You Could Look It Up: An Introduction to SASHELP Dictionary Views(PDF) by Michael Davis, The 'SKIP' Statement(PDF) by Paul Grant
Indexing and Compressing SAS Data Sets: How, Why, and Why Not(PDF) Andrew H. Karp,
Automating the Creation of a Single Bookmarked PDF Documentfrom Multiple SAS® ASCII and PostScript® Output Files Be Careful When You Merge SAS Datasets!
courtesy of NESUG

SAS free study tutorials

Data step:
getting started 1: windows SAS code
getting started 2: data step SAS codeautomatic _N_ variable SAS code
drop & delete SAS codeformating: dates and numbers SAS code date sal.txt
(also see the format procedure below to create your own formats)
functions SAS codeimport: Bringing in data from Excel SAS code
Excel import file Excel export file text fileinput:
length statement SAS code infile options.txtlong SAS code long.txt
missing data SAS code
output option SAS code
pointers SAS code ex7.txt ex8.txt ex9.txtmore about pointers
SAS code pointers.SAS ex10.txt
missover & delimiter SAS code delimiter.txtmore on the delimiter SAS code
retain SAS codeset SAS code
simulations:
random numbers SAS code
sum SAS code
statistical functions SAS code

Logic:
do loops SAS codemore about do loops SAS codenested do loops SAS codeif then statements SAS code score.txt

Combining Data sets:
concatenating and interleaving SAS code
one-to-one merging SAS code
match merging SAS codeupdating SAS code

Character functions:
substring function SAS code
trim and left functions SAS code
compress and index functions SAS code record.txt
indexc and indexw functions SAS code
implicit character-to-numeric conversion SAS code
explicit character-to-numeric conversion SAS code
implicit and explicit numeric-to-character conversion SAS code

Arrays:
introduction to arrays SAS code
using arrays to count SAS code
using arrays to order observations SAS code
using arrays to transpose data SAS code ratsdose.txt
two dimensional arrays SAS code temp.txt fin.txt

Permanent SAS Data sets:
(great for large data sets)introduction: using libname SAS code
put and file statements SAS code survey.dat data1.dat data2.dat data3.txt fruit.dat data4.dat data5.dat income.dat

Procedures:
ANOVA SAS code incommed.datanalysis of equal vars: B-P for anova SAS code
contents: Great for large data sets SAS code
sheep.dat
correlation SAS code
import: Bringing in data from Excel SAS code Excel import file Excel export file text fileformat SAS code incommed.dat (also see formating above for SAS' date and number formats)
frequency tables SAS code incommed.dat freq.xlsmeans SAS code
incommed.dat
more about means SAS code incommed.datgcharts: Bar and Pie charts SAS code incommed.datgplot: a prettier plot SAS code
more about gplot SAS codeplot SAS codeprint SAS code account.txt
sort SAS code account.txt
more about sorting SAS code compt.txt t-test SAS code incommed.dat
transpose SAS code
univariate SAS code test.dat

Programming outside the Data step or Procedures:
Getting started 3: options SAS codemore options SAS code

Macros:
introduction:
macro variables (%let statement)
SAS code number.dat contest.dat%put statement SAS code score.dat
basic macros SAS code
macros with parameters SAS code ranks.dat
macro do loops SAS code
macro if/then/else statements SAS code makeup.dat
nested macros SAS codesimulations example SAS code reg.dat

Index to Statistics Tutorials (source:www.stattutorials.com)
PROC MEANS Tutorial (Descriptive statistics)
PROC UNIVARIATE Tutorial (Distribution analysis)
New: PROC UNIVARIATE - Advanced Tutorial
PROC CORR Tutorial (Correlation)
PROC FREQ Tutorial 1 (Frequency Tables/Goodness of Fit)
PROC FREQ Tutorial 2 (Two-way tables)
PROC TTEST Tutorial (Two sample and paired t-tests)
New: A comparison of Paired & Independent Sample t-tests
PROC ANOVA & GLM Tutorial (One-Way ANOVA)
PROC GLM Tutorial (Repeated measures ANOVA using PROC GLM)
New: Survival Analysis & comparison of groups using PROC LIFEREG
Bland-Altman Analysis (Comparing two measures)
Inter-Rater Reliability, Kappa, Weighted Kappa (PROC FREQ)
New: SAS Functions (2-part tutorial)

Special SAS Topics
New: Setting the SAS Initial Folder (default directory)
Using SAS ODS Output, Styles, Graphics, Data
Data files and SAS code for tutorials

General Statistical Tutorials
Interpreting p-values
Understanding hypothesis testing
Statistical comparison of two groups


Disclosure:

In the spirit of transparency and innovation, I want to share that some of the content on this blog is generated with the assistance of ChatGPT, an AI language model developed by OpenAI. While I use this tool to help brainstorm ideas and draft content, every post is carefully reviewed, edited, and personalized by me to ensure it aligns with my voice, values, and the needs of my readers. My goal is to provide you with accurate, valuable, and engaging content, and I believe that using AI as a creative aid helps achieve that. If you have any questions or feedback about this approach, feel free to reach out. Your trust and satisfaction are my top priorities.