Course 2 of 5 in the Mastering Software Development in R Specialization (Coursera).
Johns Hopkins University
Taught by: Roger D. Peng, Brooke Anderson
第1周:高级 R 编程
学习目标
能够应用 控制结构(control structures) 来控制 R 程序的执行流程。
能够编写 函数(functions),以封装一系列表达式。
能够设计 接口(interface),使用户能够修改 R 代码中的元素。
第2周:函数式编程 (Functional Programming)
学习目标
能够应用函数式编程的核心概念,如 map(映射)、reduce(归约)、search(搜索)、filter(筛选) 和 compose(组合)。
能够使用 表达式(expressions) 编写可以操作其他 R 程序的 R 代码。
能够创建 环境(environments),以形式化变量名称与其对应值之间的关系。
理解函数式编程的理论基础 —— λ演算(lambda calculus)。
第3周:调试 (Debugging)
学习目标
能够使用 R 内置工具 调试代码(debug code)。
能够使用 microbenchmark 和 profvis 对 R 代码进行性能分析(profiling)。
能够通过将函数转换为 标准求值形式(standard evaluation forms) 来修改 R 代码。
第4周:大型数据集 (Large Datasets)
学习目标
能够在 R 环境中应用 面向对象编程(Object-Oriented Programming, OOP) 原则。
能够区分 S3 系统 与 S4 系统。
能够在 R 中创建 对象(objects) 与 类(classes),并使用 S3 与 S4 系统。
能够发展成为一名具有良好 tidyverse 编程素养(tidyverse citizenship) 的程序员。