À propos de ce cours
22,417 consultations récentes

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau intermédiaire

Approx. 12 heures pour terminer

Recommandé : 4 hours/week...


Sous-titres : Anglais, Chinois (simplifié)

Compétences que vous acquerrez

Logic ProgrammingR ProgrammingObject-Oriented Programming (OOP)Functional Programming

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau intermédiaire

Approx. 12 heures pour terminer

Recommandé : 4 hours/week...


Sous-titres : Anglais, Chinois (simplifié)

Programme du cours : ce que vous apprendrez dans ce cours

8 minutes pour terminer

Welcome to Advanced R Programming

This course covers advanced topics in R programming that are necessary for developing powerful, robust, and reusable data science tools. Topics covered include functional programming in R, robust error handling, object oriented programming, profiling and benchmarking, debugging, and proper design of functions. Upon completing this course you will be able to identify and abstract common data analysis tasks and to encapsulate them in user-facing functions. Because every data science environment encounters unique data challenges, there is always a need to develop custom software specific to your organization’s mission. You will also be able to define new data types in R and to develop a universe of functionality specific to those data types to enable cleaner execution of data science tasks and stronger reusability within a team.

1 vidéo (Total 1 min), 3 lectures
3 lectures
Syllabus1 min
Course Textbook: Mastering Software Development in R1 min
swirl Assignments5 min
2 heures pour terminer


This module begins with control structures in R for controlling the logical flow of an R program. We then move on to functions, their role in R programming, and some guidelines for writing good functions.

17 lectures
17 lectures
Control Structures Overview2 min
if-else10 min
for Loops10 min
Nested for loops10 min
next, break10 min
Summary2 min
Functions Overview2 min
Code10 min
Function interface10 min
Default values10 min
Re-factoring code10 min
Dependency Checking10 min
Vectorization10 min
Argument Checking10 min
R package10 min
When Should I Write a Function?10 min
Summary2 min
2 heures pour terminer

Functions: Lesson Choices

2 quiz
1 exercice pour s'entraîner
Swirl Lesson1 h
3 heures pour terminer

Functional Programming

Functional programming is a key aspect of R and is one of R's differentiating factors as a data analysis language. Understanding the concepts of functional programming will help you to become a better data science software developer. In addition, we cover error and exception handling in R for writing robust code.

19 lectures
19 lectures
What is Functional Programming?10 min
Core Functional Programming Functions10 min
Map10 min
Reduce10 min
Search10 min
Filter10 min
Compose10 min
Partial Application10 min
Side Effects10 min
Recursion10 min
Summary2 min
Expressions10 min
Environments10 min
Execution Environments10 min
What is an error?10 min
Generating Errors10 min
When to generate errors or warnings10 min
How should errors be handled?10 min
Summary2 min
3 heures pour terminer

Functional Programming: Lesson Choices

2 quiz
1 exercice pour s'entraîner
Swirl Lesson1h 30min
2 heures pour terminer

Debugging and Profiling

Debugging tools are useful for analyzing your code when it exhibits unexpected behavior. We go through the various debugging tools in R and how they can be used to identify problems in code. Profiling tools allow you to see where your code spends its time and to optimize your code for maximum efficiency.

15 lectures, 1 quiz
15 lectures
Debugging Overview2 min
traceback()10 min
Browsing a Function Environment10 min
Tracing Functions10 min
Using debug() and debugonce()10 min
recover()10 min
Final Thoughts on Debugging10 min
Summary2 min
Profiling Overview2 min
microbenchmark10 min
profvis10 min
Find out more10 min
Summary2 min
Non-standard evaluation10 min
Summary2 min
1 exercice pour s'entraîner
Debugging and Profiling30 min
5 heures pour terminer

Object-Oriented Programming

Object oriented programming allows you to define custom data types or classes and a set of functions for handling that data type in a way that you define. R has a three different methods for implementing object oriented programming and we will cover them in this section.

11 lectures, 1 quiz
11 lectures
OOP Overview2 min
Object Oriented Principles10 min
S310 min
S410 min
Reference Classes10 min
Summary2 min
Overview2 min
Reuse existing data structures10 min
Compose simple functions with the pipe10 min
Embrace functional programming10 min
Design for humans10 min
94 avisChevron Right


a commencé une nouvelle carrière après avoir terminé ces cours


a bénéficié d'un avantage concret dans sa carrière grâce à ce cours

Principaux examens pour Advanced R Programming

par FZJun 7th 2017

Very useful, I considered myself quite an advanced R user, but this class raised the level, especially with the R as OOB part. Good investment if you are not a beginner.

par JYMay 8th 2017

It is a good course that forced me to understand the s3 and s4 object of R and have gained an appreciation of "methods belonging to functions not belonging to objects".



Roger D. Peng, PhD

Associate Professor, Biostatistics
Bloomberg School of Public Health

Brooke Anderson

Assistant Professor, Environmental & Radiological Health Sciences
Colorado State University

À propos de Université Johns-Hopkins

The mission of The Johns Hopkins University is to educate its students and cultivate their capacity for life-long learning, to foster independent and original research, and to bring the benefits of discovery to the world....

À propos de la Spécialisation Mastering Software Development in R

This Specialization covers R software development for building data science tools. As the field of data science evolves, it has become clear that software development skills are essential for producing useful data science results and products. You will obtain rigorous training in the R language, including the skills for handling complex data, building R packages and developing custom data visualizations. You will learn modern software development practices to build tools that are highly reusable, modular, and suitable for use in a team-based environment or a community of developers....
Mastering Software Development in R

Foire Aux Questions

  • Une fois que vous êtes inscrit(e) pour un Certificat, vous pouvez accéder à toutes les vidéos de cours, et à tous les quiz et exercices de programmation (le cas échéant). Vous pouvez soumettre des devoirs à examiner par vos pairs et en examiner vous-même uniquement après le début de votre session. Si vous préférez explorer le cours sans l'acheter, vous ne serez peut-être pas en mesure d'accéder à certains devoirs.

  • Lorsque vous vous inscrivez au cours, vous bénéficiez d'un accès à tous les cours de la Spécialisation, et vous obtenez un Certificat lorsque vous avez réussi. Votre Certificat électronique est alors ajouté à votre page Accomplissements. À partir de cette page, vous pouvez imprimer votre Certificat ou l'ajouter à votre profil LinkedIn. Si vous souhaitez seulement lire et visualiser le contenu du cours, vous pouvez accéder gratuitement au cours en tant qu'auditeur libre.

D'autres questions ? Visitez le Centre d'Aide pour les Etudiants.