Welcome to Advanced R Programming-Welcome
Welcome to Advanced R Programming
()
Syllabus
Course Textbook: Mastering Software Development in R
swirl Assignments
Functions-Control Structures
Control Structures Overview
if-else
for Loops
Nested for loops
next, break
Summary
Functions-Functions
Functions Overview
Code
Function interface
Default values
Re-factoring code
Dependency Checking
Vectorization
Argument Checking
R package
When Should I Write a Function?
Summary
Functional Programming-Functional Programming
What is Functional Programming?
Core Functional Programming Functions
Map
Reduce
Search
Filter
Compose
Partial Application
Side Effects
Recursion
Summary
Functional Programming-Expressions & Environments
Expressions
Environments
Execution Environments
Functional Programming-Error Handling and Generation
What is an error?
Generating Errors
When to generate errors or warnings
How should errors be handled?
Summary
Debugging and Profiling-Debugging
Debugging Overview
traceback()
Browsing a Function Environment
Tracing Functions
Using debug() and debugonce()
recover()
Final Thoughts on Debugging
Summary
Debugging and Profiling-Profiling
Profiling Overview
microbenchmark
profvis
Find out more
Summary
Debugging and Profiling-Non-standard evaluation
Non-standard evaluation
Summary
Object-Oriented Programming-OOP
OOP Overview
Object Oriented Principles
S3
S4
Reference Classes
Summary
Object-Oriented Programming-Gaining Your 'tidyverse' Citizenship
Overview
Reuse existing data structures
Compose simple functions with the pipe
Embrace functional programming
Design for humans