Course 613

McGill University, Department of Epidemiology, Biostatistics and Occupational Health

EPIB 613: Introduction to Statistical Software (Fall 2006/Winter 2008)

Links to other course webpages maintained by JH: 323 | med2 | 607 | 622 | 626 | 678 | 681 | 697

(FAQ material was updated March 21, 2008)

Course Description

(Check here before mailing JH.. he may have already answered your question)

Using Excel (and R/SAS/Stata) for graphs, small-scale statistical calculations and simulations

Agenda for Class on Wednesday March 26, 2008
Some notes re spreadsheets, and some capabilities of Excel (.xls file)
Link to Excel examples in course c323
Storms data(.xls)
Population Pyramids
Pyramids for Canada, the provinces and territories from 1901 to 2001.
Lifetable Calculations via Excel [this link is from the site Free Statistical Software ]
Excel workbook with US 1960 data and abridged lifetable calculations
[in case you are not able to reach the "quantitativeskills" website]
Population size, number of deaths, by age-sex, Canada 2001 [ Excel file ]

Chapter 18 (Lifetables and Survival after Treatment) from Bradford Hill [pdf 650K]
Chapter 9 (Lifetables, an Intro) from Selvin [part 1 880K] [part 2 670K]
United States Life Tables 2000, and earlier,
Text    Total, and by sex    By Race, Sex, Both    Historical    Technical Notes
Examples of graphs from MMWR (Morbidity&Mortality Weekly Report---CDC)
Examples of graphs from Medical Journals
Example graphs from Stata website
R Graph Gallery
SAS/GRAPH Samples Output Gallery [with code]
Examples from The Economist magazine (scanned images, large files) [ 1 ] [ 2 ]
SAS Online Documentation, v 9.13 ... c.f. examples in SAS/GRAPH Reference
The Work of Edward Tufte and Graphics Press
Tufte is considered a "must-read" in the field of information graphics.
PowerPoint Is Evil: Power Corrupts. PowerPoint Corrupts Absolutely.
By Edward Tufte
Gallery of Data Visualization: The Best and Worst of Statistical Graphics
Michael Friendly, York University
Assignment 3 (2008) for April __

Using SAS / Stata / SPSS / R for data management and data analysis

Learning Resources






R Commander














Little SAS Book
Chapter 1
Chapters 2-6



Reference Cards
4 pages

Getting Started

To obtain software...  





installation notes

** Details of SAS Functions
Contents -> Base SAS -> SAS Language Reference: Dictionary -> Dictionary of Language Elements -> Functions and CALL Routines -> SAS Functions, by category

Statistics and Statistical Graphics Resources (Psychology Dept, York University ... extensive links )
Agenda for Class on Monday Sept 18

Entering Data, and Exploring Data, from (UCLA) SAS / Stata / R Class Notes

Other SAS Resources:

SAS Online Doc > Base SAS > SAS Language Reference: Concepts >
DATA Step Concepts > Reading Raw Data ...

SAS Online Doc > Base SAS > Step-by-Step Programming with Base SAS Software

Storms data(.xls)

Questionnaire on Temperature Perception(pdf)

data (Excel)      temps_1 (.txt)     temps_2 (.txt)
temperatures2005(.csv)   temperatures2005(.xls)   temperatures2005(.txt)

Assignment 2

Agenda for Class on Oct 2

Modifying Data, and Managing Data, from (UCLA) SAS Class Notes 2.0

SAS Online Doc > Base SAS > SAS Language Reference: Concepts >
DATA Step Concepts >
* BY-Group Processing in the DATA Step
* Reading, Combining, and Modifying SAS Data Sets...

SAS Online Doc > Base SAS > Step-by-Step Programming with Base SAS Software

Storms data(.xls)      Storms data(.csv)      SAS code for Storms data(.txt)

Québec mortality data , 1971, 1976, 1980-1992 2002

female(.txt) | male(.txt) | sas(.txt)

Assignment 3 for Monday Oct 30

Agenda for Class on Oct 30

Enter Conference Ratings into spreadsheet (

(DATA step)

-Specifying a block of statements governed by a single IF statement
-Creating multiple records from 1 (OUTPUT Statement )
-DO loop may make this easier (loops are also used with arrays)

From SAS Learning Modules (UCLA) ( * = already seen / used )

Fundamentals of Using SAS (part II)

-Using WHERE 'filter' 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
(* need to be careful with missing values)
-Using SAS functions for making/recoding variables

(* see also statistical functions )
-Subsetting variables and observations
(* DROP/ KEEP / for vars; IF/DELETE for obsns)
-Labeling data, variables, and values (*)
-Using PROC SORT and the BY statement

BY: general; CLASS: not in all PROCs )
-Making and using permanent SAS data files
(LIBNAME more general, like a 'shortcut')

Classic Data Management Problems

-Merging Data Files via Data Step (*)
-Concatenating (stacking) SAS data files (*)
-Collapsing across observations in SAS
(via Proc Means, Data Step I , Data Step II )

Assignment 4 for Monday Nov 6

Agenda for Class on Nov 6

Using Arrays in SAS [ UCLA notes and movies ]

[ ]

-Working across variables ( via ARRAY)

-Reshaping data from wide to long via Proc Transpose , Data Step
Reshaping data from long to wide via Proc Transpose , Data Step

alberta_data.txt      galton_data_raw.txt      SAS code for both
Pre-treatment PSA in Men with Prostate Cancer      Serial PSA Values     SAS_DATA Steps  

Assignment 5 for Monday Nov 20, 2006 {Women and Math}

Assignment 5 in 2005 course [ for interest only]