Flexible, affordable statistics education.
Designed to help you master the software you need to enhance your skills and the practical experience you need to get ahead.
Designed to help you master the software you need to enhance your skills and the practical experience you need to get ahead.

Programming in R
taught by Hadley Wickham
The aim of the course is to give you the skills to work with a variety of data types and data sources in R. You'll also learn some techniques for programming "in-the-large", when you are trying to provide a suite of functions to flexibly solve a large class of problems.
Instructor(s):Statistical analysts who want to use R as a serious statistical computing tool.
Dates:Add $50 service fee if you require a prior invoice, or if you need to submit a purchase order or voucher, pay by wire transfer or EFT, or refund and reprocess a prior payment. Please use this printed registration form, for these and other special orders.
Courses may fill up at any time and registrations are processed in the order in which they are received. Your registration will be confirmed for the first available course date, unless you specify otherwise. Multiple course registrations may be entitled to tuition discounts; read more.
Programming in R
taught by Hadley Wickham
The aim of the course is to give you the skills to work with a variety of data types and data sources in R. You'll also learn some techniques for programming "in-the-large", when you are trying to provide a suite of functions to flexibly solve a large class of problems. In particular, you'll learn more about functions, environments and closures, and the basics of object oriented programming with S3.
This course is a core requirement or elective in the following Program(s) in Analytics and Statistical Studies (PASS):
Prerequisite(s):You will need some familiarity with R before taking this course. For this, we recommend you take Introduction to R: Data Handling and/or be acquainted with the concepts regarding R in Introduction to Data Technologies, by Paul Murrell.
In this session you'll learn how to go beyond the basics to make closures, functions that are written by other functions. To understand how closures work, we'll go over R's scoping rules and discuss how environments and frames work. To show why closures are worth learning about, we'll give some examples using them for maximum likelihood estimation, and for creating functions that remember what happened last time they were called.
Learn the basics of string manipulation (with regular expressions) and working with dates. Base R provides some functions to deal with these common data types, but they're not very friendly. We'll briefly cover base R functions, then move on to two new packages, stringr and lubridate, that have been designed from the ground up to be consistent and easy to use.
For xml, you'll learn the basics of xpath expressions, which make it easy to pull out the pieces that you're interseted in, and how to avoid some of the pitfalls of the xml package.
In this session you will learn the basics of working with external databases and xml files. We'll cover some of the range of options for accessing external databases, and some convenient tools for converting large local datasets into databases to make it faster to retrieve subsets of interest.
HOMEWORK:
Homework in this course consists of guided exercises in writing code.
Organization of the Course:This course takes place over the internet at the Institute for 4 weeks. During each course week, you participate at times of your own choosing - there are no set times when you must be online. Course participants will be given access to a private discussion board. In class discussions led by the instructor, you can post questions, seek clarification, and interact with your fellow students and the instructor.
The course typically requires 15 hours per week. At the beginning of each week, you receive the relevant material, in addition to answers to exercises from the previous session. During the week, you are expected to go over the course materials, work through exercises, and submit answers. Discussion among participants is encouraged. The instructor will provide answers and comments, and at the end of the week, you will receive individual feedback on your homework answers.
The course text is Introduction to Data Technologies by Paul Murrell. It that may be purchased from the publisher Chapman Hall here. For a discount from the publisher, submit this form. The text is also available online here in both PDF and HTML formats.
The following texts are not required for the course, but provide useful background and a handy reference once you are done. Each session will provide pointers to relevant material in the books.
Participants should be familiar with and have access to R. Click Here for information on obtaining a free copy.
Programming in R
taught by Hadley Wickham