We may earn an affiliate commission when you visit our partners.
Course image
Roger D. Peng, PhD and Brooke Anderson

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.

Enroll now

What's inside

Syllabus

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.
Read more
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.
Functions: Lesson Choices
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.
Functional Programming: Lesson Choices
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.
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.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches functional programming, a key aspect of R and its differentiation as a data analysis language
Taught by Roger D. Peng, PhD, an expert in data science and R programming
Develops skills in robust error handling, object oriented programming, profiling and benchmarking, and debugging
Coursework includes defining new data types in R and building a universe of customized functionality
Intended for learners who need to develop and use custom software tailored to their organization's data challenges
May require previous programming experience

Save this course

Save Advanced R Programming to your list so you can find it easily later:
Save

Reviews summary

Excellent resource & challenging labs

According to students, this advanced R programming course offers excellent resources and challenging labs, providing learners with in-depth knowledge and practical experience. The open-source textbook and swirl exercises are highly praised, and the peer-reviewed final assignment is considered a valuable learning experience. However, some students raise concerns about the difficulty of the final assignment, as the coursework may not fully prepare learners for its complexity.
Lacks video lectures but provides detailed text materials
"T​his course is text-based, but the text is hard to read because of numerous missing space characters and widespread formatting issues."
"It is a very good course but many a times the concepts which are used in assignments are not even taught properly in the course."
Engaging assignments and relevant open-source textbook
"Excellent resource material and instruction on how to program with advance R."
"Very good labs in swirl, good readings from an open text-book."
Slow feedback and limited usefulness
"Getting attention for it to be reviewed is a hassle."
"The peer-review system does not allow to get any useful feedback in practice."
Requires higher-level programming skills than the course material provides
"The assignment at the end of the course demands a good level of programming skill but unfortunately the coursework doesn't provide the students with such expertise and exposure."
"If the participant puts in extra effort he/she can reap good benefits."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Advanced R Programming with these activities:
Review functions
Review the basics of functions in R to refresh your memory and prepare for the course.
Browse courses on Functions
Show steps
  • Go over the course syllabus and identify the sections that cover functions.
  • Review your notes or textbooks on functions in R.
  • Complete the practice exercises in the course materials on functions.
Connect with experienced R programmers
Seek out mentors who can provide guidance, support, and insights to enhance your learning journey in R programming.
Browse courses on R Programming
Show steps
  • Attend industry events or online forums to network with R professionals.
  • Reach out to experienced R programmers on LinkedIn or other platforms.
  • Explain your goals and interests, and ask for guidance.
Learn about functional programming in R
Explore tutorials and resources on functional programming in R to enhance your understanding of this important concept.
Browse courses on Functional Programming
Show steps
  • Search for online tutorials on functional programming in R.
  • Follow along with the tutorials, taking notes and experimenting with the code.
  • Apply the concepts you learn to solve practical problems.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice debugging R code
Engage in debugging exercises to refine your ability to identify and resolve errors in R code.
Browse courses on Debugging
Show steps
  • Find online resources or books with debugging exercises for R.
  • Work through the exercises, attempting to debug and fix the code.
  • Analyze the solutions and learn from the common debugging techniques.
Develop a presentation on R programming best practices
Create a presentation that summarizes and showcases the best practices for R programming, reinforcing your understanding of the concepts.
Browse courses on R Programming
Show steps
  • Gather information from the course materials and external resources.
  • Organize and structure the content of your presentation.
  • Create visuals and examples to illustrate the best practices.
  • Practice and refine your presentation skills.
Create a data analysis tool in R
Embark on a project to develop a custom data analysis tool in R, applying the concepts and techniques learned in the course.
Browse courses on Data Analysis
Show steps
  • Identify a data analysis problem that you can solve with an R script.
  • Design and plan the structure of your R script, including functions and data structures.
  • Write and implement the R code for your tool.
  • Test and evaluate your tool to ensure it meets the requirements.
Contribute to open-source R projects
Engage in open-source projects related to R programming, gaining practical experience and contributing to the community.
Browse courses on Open-Source
Show steps
  • Identify open-source R projects that align with your interests.
  • Contact the project maintainers to express your interest in contributing.
  • Review the project codebase and documentation.
  • Identify areas where you can contribute and make a pull request.

Career center

Learners who complete Advanced R Programming will develop knowledge and skills that may be useful to these careers:
Data Scientist
A Data Scientist analyzes data to make better business decisions, identify new opportunities, and improve customer experiences. As a Data Scientist, you will need advanced R programming skills, especially in functional programming, error handling, and debugging. This course teaches all these topics, so it is a perfect match for you if you wish to pursue a career in this field.
Statistician
A Statistician uses mathematical and statistical methods to collect, analyze, interpret, and present data. As a Statistician, you will need advanced R programming skills, especially in functional programming, error handling, and debugging. This course teaches all these topics, so it is a perfect match for you if you wish to pursue a career in this field.
Machine Learning Engineer
A Machine Learning Engineer designs and develops machine learning models to solve real-world problems. As a Machine Learning Engineer, you will need advanced R programming skills, especially in functional programming, error handling, and debugging. This course teaches all these topics, so it is a perfect match for you if you wish to pursue a career in this field.
Data Analyst
A Data Analyst collects, analyzes, interprets, and presents data to help businesses make better decisions. As a Data Analyst, you will need advanced R programming skills, especially in functional programming, error handling, and debugging. This course teaches all these topics, so it is a perfect match for you if you wish to pursue a career in this field.
Business Analyst
A Business Analyst identifies and solves business problems by analyzing data and developing recommendations. As a Business Analyst, you will need advanced R programming skills, especially in functional programming, error handling, and debugging. This course teaches all these topics, so it is a perfect match for you if you wish to pursue a career in this field.
Software Engineer
A Software Engineer designs, develops, and maintains software applications. As a Software Engineer, you will need advanced R programming skills, especially in functional programming, error handling, and debugging. This course teaches all these topics, so it is a perfect match for you if you wish to pursue a career in this field.
Quantitative Analyst
A Quantitative Analyst uses mathematical and statistical methods to analyze financial data and make investment decisions. As a Quantitative Analyst, you will need advanced R programming skills, especially in functional programming, error handling, and debugging. This course teaches all these topics, so it is a perfect match for you if you wish to pursue a career in this field.
Financial Analyst
A Financial Analyst analyzes financial data to make investment decisions. As a Financial Analyst, you will need advanced R programming skills, especially in functional programming, error handling, and debugging. This course teaches all these topics, so it is a perfect match for you if you wish to pursue a career in this field.
Risk Analyst
A Risk Analyst identifies and assesses risks to an organization or business. As a Risk Analyst, you will need advanced R programming skills, especially in functional programming, error handling, and debugging. This course teaches all these topics, so it is a perfect match for you if you wish to pursue a career in this field.
Actuary
An Actuary uses mathematical and statistical methods to assess and manage risks. As an Actuary, you will need advanced R programming skills, especially in functional programming, error handling, and debugging. This course teaches all these topics, so it is a perfect match for you if you wish to pursue a career in this field.
Data Engineer
A Data Engineer designs and builds data pipelines to collect, store, and process data. As a Data Engineer, you will need advanced R programming skills, especially in functional programming, error handling, and debugging. This course teaches all these topics, so it is a perfect match for you if you wish to pursue a career in this field.
Database Administrator
A Database Administrator designs, implements, and maintains databases. As a Database Administrator, you will need advanced R programming skills, especially in functional programming, error handling, and debugging. This course teaches all these topics, so it is a perfect match for you if you wish to pursue a career in this field.
Software Developer
A Software Developer designs, develops, and maintains software applications. As a Software Developer, you will need advanced R programming skills, especially in functional programming, error handling, and debugging. This course teaches all these topics, so it is a perfect match for you if you wish to pursue a career in this field.
Web Developer
A Web Developer designs and develops websites. As a Web Developer, you will need advanced R programming skills, especially in functional programming, error handling, and debugging. This course teaches all these topics, so it is a perfect match for you if you wish to pursue a career in this field.
Technical Writer
A Technical Writer creates and maintains technical documentation. As a Technical Writer, you will need advanced R programming skills, especially in functional programming, error handling, and debugging. This course teaches all these topics, so it is a perfect match for you if you wish to pursue a career in this field.

Reading list

We've selected 15 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Advanced R Programming.
Provides a comprehensive overview of advanced R programming techniques, including functional programming, object-oriented programming, and debugging.
Provides a comprehensive overview of advanced R programming techniques, including functional programming, object-oriented programming, and debugging.
Comprehensive guide to R programming for data science, covering topics such as data manipulation, visualization, and statistical modeling.
Practical guide to using R for data science, covering topics such as data manipulation, visualization, and statistical modeling.
Provides a comprehensive guide to debugging in R, covering topics such as error handling, profiling, and testing.
Collection of recipes for solving common problems in R, covering topics such as data manipulation, visualization, and statistical modeling.
Practical guide to using R for data analysis, covering topics such as data manipulation, visualization, and statistical modeling.
Practical guide to using R for data analysis and visualization, covering topics such as data manipulation, visualization, and statistical modeling.
Comprehensive guide to using R Markdown, a tool for creating dynamic, reproducible reports in R.
Comprehensive reference guide to the R programming language, covering topics such as data types, functions, and graphics.
Provides a comprehensive overview of object-oriented programming in R, covering topics such as classes, objects, and methods.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser