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.

Programming in R - Advanced

taught by Hadley Wickham


Brief Description:

Programming in R - Advanced will help you write better code, focused on the mantra of do not repeat yourself. You will learn powerful new tools of abstraction, allowing to solve a wider range of problems with fewer lines of code.

Instructor(s):
Level: Intermediate

Who Should Take This Course:

To get the most out of this course, you should have some experience programming in R already: you should be familiar with writing functions, and the basic data structures of R (vectors, matrices, arrays, lists and data frames). You will find the course particularly useful if you are an experienced R user looking to take the next step, or if you are moving to R from other programming languages and you want to quickly get up to speed with R's unique features.

Dates:
June 15, 2012 to July 13, 2012
rprogrammingadv Click here to be reminded of future sessions of this course.

Programming in R - Advanced

taught by Hadley Wickham

Enter your email address and submit:
ajax loader

Thank you for your submission.


Registration:
Please read the syllabus tab, noting the prerequisites, text and software requirements.

Register Online -$499
Register Online -$399 (you must be affiliated with a college, university or high school)

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.


Share This : facebook LinkedIn twitter

Programming in R - Advanced

taught by Hadley Wickham



Aim of Course:

Becoming a skilled R programmer requires you to master new techniques of abstraction, particularly techniques that come from R's functional heritage. In this course, you will learn what these techniques are, and you will take the first steps down the road to mastery of them.

This course is a core requirement or elective in the following Program(s) in Analytics and Statistical Studies (PASS):

Prerequisite(s):
Programming in R
Course Program:

SESSION 1: First Order Functions.

  • Anonymous functions.
  • Functions that write functions (closures).
  • Functions that take functions as arguments (higher-order function).
  • Storing functions in data structures.
  • R has first order functions: In this session, you will learn how to use these abilities to write effective code.

SESSION 2: Controlling Evaluation.

  • Quoting.
  • Evaluating.
  • Scoping.
  • Lazy evaluation.
  • Computing on the language.
  • One of the neat things about R is how it gives you much more control over evaluation than other programming languages. In this session, you will learn how functions like subset and transform work. You will also learn common pitfalls of these techniques and how to avoid them in your own code. We will conclude with a brief exploration of R functions that let you modify R code.

SESSION 3: Object Oriented Programming in R

  • S3
  • S4
  • reference classes
  • OO is a useful technique for organising large amounts of code in a way that makes it easier to understand. In this session, you will learn about the three object oriented systems in base R. I will focus mainly on S3 and S4, as they differ the most from the OO-systems you are probably familiar, and are so important for understanding existing R code. We will touch on the new reference classes, which provide a framework much more like Java or C#.

SESSION 4: Development Best Practices

  • Correct code.
  • Maintainable code.
  • Fast code.
  • The course will conclude with a survey of development best-practices including a discussion of code style, commenting, profiling, improving performance and testing. We will touch on the new byte-code compiler in R, and on writing high-performance code in C++ with the Rcpp package.


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.


Credit:
Students come to the Institute for a variety of reasons. As you begin the course, you will be asked to specify your category:
  1. You may be interested only in learning the material presented, and not be concerned with grades or a record of completion.
  2. You may be enrolled in PASS (Programs in Analytics and Statistical Studies) that requires demonstration of proficiency in the subject, in which case your work will be assessed for a grade.
  3. You may require a "Record of Course Completion," along with professional development credit in the form of Continuing Education Units (CEU's).  For those successfully completing the course, 5.0 CEU's and a record of course completion will be issued by The Institute, upon request.

Course Text:

You will use a draft version of the text advanced R development, available from

https://github.com/hadley/devtools/wiki/.

You may also find John Chambers' Software for Data Analysis: Programming with R useful for your own learning, but we will not be using it extensively in this course. It is published by Springer, available here. Springer offers a generous discount on this book after providing the code AECT15 (this code is case sensitive) in the Promotion Code field when prompted during checkout time if you are from North or South America. The same code will work for the rest of the world if you order from the North American site, but may result in longer ship time and higher ship cost (alternatively, you can buy from local site with no discount.)

Software:

Participants should be familiar with and have access to R. Click Here for information on obtaining a free copy.  Rstudio is recommended.

Register Now

Yes, I want to register for:

Programming in R - Advanced

taught by Hadley Wickham



Instructor(s):
Dates:
June 15, 2012 to July 13, 2012
Course Fee: $499
Academic Rate: $399

Before registering, please read the syllabus tab, noting the prerequisites, text and software requirements. When you click the register button, you will be taken to our secure transaction page.

I am affiliated with an academic institution
I am not affiliated with an academic institution


Want to be notified of future course offering?


Enter your email address here:

What our students say:

"I need to know R to perform my job as I am a product manager for a software company that interacts with R.  I am now able to understand R scripts and hopefully contribute some of my own. The instructor's videos were great. Just hearing his voice made it more personal. This was my first ever web based course and I really enjoyed it although I had to work hard."

A. Henry
Certara
"As a SAS programmer , I believe I will continue to use SAS for data manipulation but will utilize R when running models and exploring large data sets."
J. Kezik
Yale University
"I look forward to taking another course on statistics.com - a great way to continue learning in a structured manner, but flexible enough to participate while Life continues."
B. Berg
AMPS Intl.
© Statistics.com 2004-2012