FrontpageSearch trainingsProgramming in R

Programming in R


Training formats

Remote


Duration

4 days


Price

2845 €

This four-day course is designed for existing R users who want to extend their knowledge of the language beyond the use of existing CRAN packages. Perhaps with the aim of increasing the depth of your understanding into how different functions work, or in order to progress into developing your own algorithms and packaged software.

This course introduces engineering and software development concepts with practical programming exercises and covers essential topics such as the range of built-in data structures and data types, controlling the flow of a program with selection and iteration, creating your own methods and data structures, creating programs following development best practices, and assessing and improving the performance of your code.

You will also have the opportunity to tackle a consolidation project in which time series data is analysed with differing decision signals to simulate the past effect that a decision making strategy would have had – these skills and knowledge are transferable to many other simulated situations in a multitude of sectors.

For those wishing to certify as Data Scientists this course is aligned with many certifications and professional frameworks in order to support you on your learning journey. In particular for experienced Data Science or Data Analysts, Machine Learning Engineers, Software Developers, and those with similar responsibilities.

It is expected that you will have experience with R and R Studio (or another IDE) previously or experience with another programming language for Software Development. We offer many R courses and would suggest QADHR Data Handling with R as a starting point for anyone not already comfortable with the base R language and Tidyverse.

Target Audience

This course is for individuals who have experience with Python or R in the context of a Data Science or related field.

  • Data Scientists
  • Software Developers
  • Advanced Data Analysts
  • ML / AI Data Engineers

Delegates must be existing R users who have attended:

Introduction to R for Programmers

  • Investigate the R programming language and typical usage
  • Explore R Studio including accessibility, the purpose of each window, and types of R files including R Scripts, Quarto, Markdown, and Shiny
  • Create an R Script and use base R and package functionality to write to the console, save R Objects in the environment, install and load packages, and plot static and animated data visualisations.

Atomic Datatypes and Fundamental Operations

  • Store single elements as each of the six base R datatypes: logical, integer, numeric, complex, character, raw.
  • Identify the differences between NULL, NA, NaN, and Inf.
  • Convert datatypes and use arithmetic and relational operators.

Heterogeneous Datatype Containers and Addressing

  • Identify containers that can contain a mixture of datatypes
  • Create and address from a List using a variety of operations
  • Create and address from a Data Frame using a variety of operations

Homogeneous Datatype Containers, Casting, and Piecewise Operations

  • Identify containers that have a consistent datatype throughout
  • Create vectors, factors, matrices, and arrays and convert to vectors
  • Demonstrate piecewise operations in R and use arithmetic, relational, and logical operators

Selection

  • Identify selection structures for use in flow control with R
  • Use Boolean logic to control the flow of a program
  • Select the appropriate structure for solving a problem which requires choices to be automated

Iteration

  • Identify loop structures that can be used to repeat selected code sections
  • Practice using definite and indefinite repetition structures with break and next to control the flow
  • Select the appropriate iterative structure for problems which require repeated actions to be automated

Creating Subroutines

  • Identify how functions and procedures are defined in R and the need for checking trustworthiness of code sources
  • Explore the variety of ways functions can be called including tag abbreviations and base R pipes
  • Create functions including with the use of variadic

Programming Paradigms

  • Create R code that solves a problem using Imperative then Object Oriented Programming (OOP) paradigms.
  • Identify the features of a class, and differences between S3, S4, R5, and R6 objects in R
  • Identify key terminology for OOP programming including object, class, instantiation, encapsulation, inheritance, and polymorphism – and view R examples demonstrating each.
  • Create a solution to a problem using both imperative and object oriented (R5) paradigms.

Development Practices

  • Identify community standards such as naming conventions, commenting, code structure, formatting and style, function documentation, and unit testing.
  • Identify error handling methods in R including custom error handling
  • Identify packages to enable testing in R
  • Create an exemplar function by following development best practices

Performance Enhancement

  • Identify how to measure the time taken and memory used by an R program
  • Compare the effect of vectorisation on performance and assess the use of ifelse(), and the apply family of functions

Developer Tools and Packaging

  • Save and load RData and environments
  • Identify the functionality of devtools
  • Deconstruct and critique a selection of functions from published packages
  • Examine the submission guidelines for CRAN

Practice Project – Strategy Testing

  • Additional Practice if time allows
  • Create a solution in R to compare financial trading strategies using imperative, object oriented, or object oriented with inheritance.

Related learning

Data Science Learning Pathways can be selected by choosing either Python or R and a Cloud Platform certification:

  • QAIDSDP Introduction to Data Science for Data Professionals
  • Sourcing and handling data:
    • QADHPYTHON Data Handling with Python
    • QADHR Data Handling with R
    • QAPDHAI Python Data Handling with AI APIs
  • Statistics for Data Analysis:
    • QASDAPY Statistics for Data Analysis with Python
    • QASDAR Statistics for Data Analysis with R
  • Programming and Software Development skills:
    • QAPYTH3 Python Programming
    • QARPROG R Programming
  • Machine Learning Development:
    • QADSMLP Data Science and Machine Learning with Python
    • QADSMLR Data Science and Machine Learning with R
  • Forecasting:
    • QATSFP Time Series and Forecasting with Python
    • QATSFR Time Series and Forecasting with R

Suggested Certifications:

  • MDP100 Designing and Implementing a Data Science Solution on Azure (DP-100)
  • AMWSMLP Machine Learning Pipelines on AWS
  • GCPMLGC Machine Learning on Google Cloud