About this Course
23,647 recent views

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 11 hours to complete

Suggested: 4 hours/week...

English

Subtitles: English, Chinese (Simplified)
User
Learners taking this Course are
  • Biostatisticians
  • Risk Managers
  • Data Scientists
  • Economists
  • Data Analysts

Skills you will gain

Logic ProgrammingR ProgrammingObject-Oriented Programming (OOP)Functional Programming
User
Learners taking this Course are
  • Biostatisticians
  • Risk Managers
  • Data Scientists
  • Economists
  • Data Analysts

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 11 hours to complete

Suggested: 4 hours/week...

English

Subtitles: English, Chinese (Simplified)

Syllabus - What you will learn from this course

Week
1
8 minutes to complete

Welcome to Advanced R Programming

1 video (Total 1 min), 3 readings
3 readings
Syllabus1m
Course Textbook: Mastering Software Development in R1m
swirl Assignments5m
2 hours to complete

Functions

17 readings
17 readings
Control Structures Overview2m
if-else10m
for Loops10m
Nested for loops10m
next, break10m
Summary2m
Functions Overview2m
Code10m
Function interface10m
Default values10m
Re-factoring code10m
Dependency Checking10m
Vectorization10m
Argument Checking10m
R package10m
When Should I Write a Function?10m
Summary2m
2 hours to complete

Functions: Lesson Choices

2 quizzes
1 practice exercise
Swirl Lesson1h
Week
2
3 hours to complete

Functional Programming

19 readings
19 readings
What is Functional Programming?10m
Core Functional Programming Functions10m
Map10m
Reduce10m
Search10m
Filter10m
Compose10m
Partial Application10m
Side Effects10m
Recursion10m
Summary2m
Expressions10m
Environments10m
Execution Environments10m
What is an error?10m
Generating Errors10m
When to generate errors or warnings10m
How should errors be handled?10m
Summary2m
3 hours to complete

Functional Programming: Lesson Choices

2 quizzes
1 practice exercise
Swirl Lesson1h 30m
Week
3
2 hours to complete

Debugging and Profiling

15 readings, 1 quiz
15 readings
Debugging Overview2m
traceback()10m
Browsing a Function Environment10m
Tracing Functions10m
Using debug() and debugonce()10m
recover()10m
Final Thoughts on Debugging10m
Summary2m
Profiling Overview2m
microbenchmark10m
profvis10m
Find out more10m
Summary2m
Non-standard evaluation10m
Summary2m
1 practice exercise
Debugging and Profiling30m
Week
4
5 hours to complete

Object-Oriented Programming

11 readings, 1 quiz
11 readings
OOP Overview2m
Object Oriented Principles10m
S310m
S410m
Reference Classes10m
Summary2m
Overview2m
Reuse existing data structures10m
Compose simple functions with the pipe10m
Embrace functional programming10m
Design for humans10m
4.3
102 ReviewsChevron Right

30%

started a new career after completing these courses

23%

got a tangible career benefit from this course

Top reviews from Advanced R Programming

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

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

Instructors

Avatar

Roger D. Peng, PhD

Associate Professor, Biostatistics
Bloomberg School of Public Health
Avatar

Brooke Anderson

Assistant Professor, Environmental & Radiological Health Sciences
Colorado State University

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

About the Mastering Software Development in R Specialization

R is a programming language and a free software environment for statistical computing and graphics, widely used by data analysts, data scientists and statisticians. 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 and scaling useful data science results and products. This Specialization will give you rigorous training in the R language, including the skills for handling complex data, building R packages, and developing custom data visualizations. You’ll be introduced to indispensable R libraries for data manipulation, like tidyverse, and data visualization and graphics, like ggplot2. You’ll 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. This Specialization is designed to serve both data analysts, who may want to gain more familiarity with hands-on, fundamental software skills for their everyday work, as well as data mining experts and data scientists, who may want to use R to scale their developing and programming skills, and further their careers as data science experts....
Mastering Software Development in R

Frequently Asked 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.

More questions? Visit the Learner Help Center.