Advanced R Programming

Advanced R Programming

Johns Hopkins University

À propos de ce cours : 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.

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.

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

Reading: Control Structures Overview

Reading: if-else

Reading: for Loops

Reading: Nested for loops

Reading: next, break

Reading: Summary

Reading: Functions Overview

Reading: Code

Reading: Function interface

Reading: Default values

Reading: Re-factoring code

Reading: Dependency Checking

Reading: Vectorization

Reading: Argument Checking

Reading: R package

Reading: When Should I Write a Function?

Reading: Summary

Noté: Swirl Lesson

SEMAINE 2

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

Reading: What is Functional Programming?

Reading: Core Functional Programming Functions

Reading: Map

Reading: Reduce

Reading: Search

Reading: Filter

Reading: Compose

Reading: Partial Application

Reading: Side Effects

Reading: Recursion

Reading: Summary

Reading: Expressions

Reading: Environments

Reading: Execution Environments

Reading: What is an error?

Reading: Generating Errors

Reading: When to generate errors or warnings

Reading: How should errors be handled?

Reading: Summary

Noté: Swirl Lesson

SEMAINE 3

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

Reading: Debugging Overview

Reading: traceback()

Reading: Browsing a Function Environment

Reading: Tracing Functions

Reading: Using debug() and debugonce()

Reading: recover()

Reading: Final Thoughts on Debugging

Reading: Summary

Reading: Profiling Overview

Reading: microbenchmark

Reading: profvis

Reading: Find out more

Reading: Summary

Reading: Non-standard evaluation

Reading: Summary

Noté: Debugging and Profiling

SEMAINE 4

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

Reading: OOP Overview

Reading: Object Oriented Principles

Reading: S3

Reading: S4

Reading: Reference Classes

Reading: Summary

Reading: Overview

Reading: Reuse existing data structures

Reading: Compose simple functions with the pipe

Reading: Embrace functional programming

Reading: Design for humans

Noté: Functional and Object-Oriented Programming

FAQ

Comment cela fonctionne

Coursework

Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.

Help from Your Peers

Connect with thousands of other learners and debate ideas, discuss course material,
and get help mastering concepts.

Certificates

Earn official recognition for your work, and share your success with friends,
colleagues, and employers.

Créateurs

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.

Tarification

Acheter le cours

Accéder au contenu du cours

Disponible

Accéder au contenu noté

Disponible

Recevoir une Note Finale

Disponible

Obtenir un Certificat de Cours partageable

Disponible

Notation et examens

Note moyenne 4.3 sur 5 sur 295 notes

SB

Excellent subject matter. 4 stars instead of 5 is only because there was no video. I love the videos in the other courses in this track, since I am an auditory learner.

Solid overview of the topics in the course description. Does not go into much detail but provides a very nice foundation to build on. The course book is and will be a handy and useful resource, as it allows you to revisit the course materials (minus the exercises) without having to navigate through the course on the platform.