Advanced R Programming

  • Start Date: October 17, 2017
  • End Date: October 19, 2017
  • Time: 8:30am-4:30pm
  • City: Revelstoke BC
  • Venue: Okanagan College - 1401 1 St W, Revelstoke, BC. Rm 102
  • Instructor: Dr. Carl Schwarz

Course Description

In this course, we will take R to the next level from that seen in the basic Stat Refresher Course and/or the Introduction to R programming courses. This course will focus on more advanced features of R. It will use the basic statistical methods from the Stat Refresher courses.

Class Size: class size is limited to 20 people.

Bring: Laptop computer pre-loaded with software (see below)

Prerequisites: It is assumed that participants have a basic familiarity with R — this is NOT a course for beginners for R. For example, it will be assumed that you can read basic data using read.table() or read.csv() into a data frame; that you can compute basic statistics, e.g. using the mean() function, and have a basic understanding of plotting, e.g. using basic plot() command.

Software Requirements: 

– Base R and RStudio (available for Mac, Linux, and Windoze- systems)

– Adobe Reader

– Microsoft Excel

– More details about software requirements will be emailed to each student a few weeks before the course commences


Course Content

1. Quick review of basic R

  • data frames, vs vectors vs. matrices. vs lists
  • selecting rows/columns of objects
  • more advanced functions, e.g. grep for forming subsets
  • recodes for grouping or changing values
  • dealing with dates and times

2. Better graphing via ggplot

  • Basic qplot and ggplot commands
  • More advanced features of ggplot
  • Using maps and ggplot output; basic kriging for interpolations
  • Saving ggplot graphics

3. Casting and melting

  • Restructuring your data for plotting and group analyses

4. Basic model fitting and dealing with lists

  • The basic ANOVA and regression models using the lm() function.
  • List output and how to manipulate it

5. Functions – generalize your work

  • how to write functions
  • different data structures for input and output (e.g. data frames, lists, etc)
  • passing data among functions; scoping rules;
  • debugging your functions
  • sourcing and function management

6. Subgroup processing

  • the plyr package – processing for sub-groups of your data

7. Bootstraping/simulation studies

  • how to find standard errors for non-standard cases

8. RMarkdown – reproducible research



Dr. Carl Schwarz, Department of Statistics and Actuarial Science, Simon Fraser University. Carl has taught  many courses with CMI, and is back by popular request! Carl has just recently won the SSC Award for Impact of Applied and Collaborative Work 2017.

Preparation for the course

About 2 weeks before the course you will be sent a web link where you can download pre-reading, a course manual, a set of practice exercises to load on your computer before the class, and instructions on where and how to get the course software.

You will need to bring your own laptop pre-loaded with the required software and downloaded files.

Consider bringing along an external monitor and an external keyboard if you have a small laptop.

You will need to make your own hotel booking, and remember to ask for the rates we’ve arranged for people attending this course (see below).

** The course starts at 8:30 a.m. sharp, you will need to arrive before that so you can set up your computer.


Thank you to our host Okanagan College





  • Phone 250-837-9311
  • Fax 250-837-9311
  • Email

Mailing Address

  • P.O. Box 2568
  • Revelstoke, British Columbia V0E 2S0
Content © Columbia Mountains Institute of Applied Ecology
Site by Perimeter  •  Updated by CMIAE  •  LOGIN