À propos de ce cours
4.3
316 notes
80 avis
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....
Globe

Cours en ligne à 100 %

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

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.
Intermediate Level

Niveau intermédiaire

Clock

Recommandé : 4 hours/week

Approx. 11 heures pour terminer
Comment Dots

English

Sous-titres : English, Chinese (Simplified)

Compétences que vous acquerrez

Logic ProgrammingR ProgrammingObject-Oriented Programming (OOP)Functional Programming
Globe

Cours en ligne à 100 %

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

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.
Intermediate Level

Niveau intermédiaire

Clock

Recommandé : 4 hours/week

Approx. 11 heures pour terminer
Comment Dots

English

Sous-titres : English, Chinese (Simplified)

Programme du cours : ce que vous apprendrez dans ce cours

1

Section
Clock
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....
Reading
1 vidéo (Total 1 min), 3 lectures
Reading3 lectures
Syllabus1 min
Course Textbook: Mastering Software Development in R1 min
swirl Assignments5 min
Clock
3 heures pour terminer

Functions

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....
Reading
17 lectures, 1 quiz
Reading17 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
Quiz1 exercice pour s'entraîner
Swirl Lesson min

2

Section
Clock
4 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....
Reading
19 lectures, 1 quiz
Reading19 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
Quiz1 exercice pour s'entraîner
Swirl Lesson30 min

3

Section
Clock
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....
Reading
15 lectures, 1 quiz
Reading15 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
Quiz1 exercice pour s'entraîner
Debugging and Profiling30 min

4

Section
Clock
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....
Reading
11 lectures, 1 quiz
Reading11 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
4.3

Meilleurs avis

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".

Enseignants

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 Johns Hopkins University

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

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

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