Week 10: Metaprogramming

Main reference

17-20. Advanced R

What you will learn this week

  • Design
  • Non-standard evaluation (changing the expression or environment)
  • Abstract syntax trees
  • tidyselect
  • Symbols, expressions, quosures (names, calls, calls+environments)
  • Parsing and evaluating code
  • Code safety from injection attacks

Slides for week

Download pdf

Lab code

Lab code can be downloaded here: lab.R

Assignments