プログラミングや数理統計が出来る人がR言語を初歩から上級まで学ぶための著作

投稿者: | 2019年3月27日

数理統計やプログラムは出来る人でR言語は初心者という人が上級者になるための著作

Rという言語はFunctionalプログラミングが基本ではあるもののObject Orientedプログラミングもできる、という一風変わった言語である。

ただ基本がFunctionalであるため、データはImmutableなのである。Object OrientedのObjectはステートがMutableでないとまともなプログラムは作れない。具体的にどうやるのかが分かりたくて調査したところThomas Mailundという人が一連の著作でR入門からObject Oriented, Functional, Metaプログラミングなどについて解説してくれているのを見つけた。出版社はいずれもAPress。

同じ人が書いているので説明に矛盾がないと思われ、安心できる。

ISBNの若い順に概略目次と共に記す。

  1. 入門書
    Beginning Data Science in R: Data Analysis, Visualization, and Modelling for the Data Scientist, 2017

Chapter 1-7でデータサイエンスの概論をRStudioを使ってハンズオン形式で解説。Chapter 8以降でより高度なRの使い方、実務で必要になるVersion Controlやテストなどについて記載。ここもハンズオン形式。これだけ出来れば普通のRを使うデータサイエンスプロジェクトに入っていくのに不自由はしないと思われる。

Introduction xxiii
Chapter 1: Introduction to R Programming  1
Chapter 2: Reproducible Analysis  29
Chapter 3: Data Manipulation  45
Chapter 4: Visualizing Data  75
Chapter 5: Working with Large Datasets  113
Chapter 6: Supervised Learning  125
Chapter 7: Unsupervised Learning  169
Chapter 8: More R Programming  205
Chapter 9: Advanced R Programming  233
Chapter 10: Object Oriented Programming  257
Chapter 11: Building an R Package  269
Chapter 12: Testing and Package Checking  281
Chapter 13: Version Control  287
Chapter 14: Profiling and Optimizing  303
  1. Functionalプログラミング
    Functional Programming in R: Advanced Statistical Programming for Data Science, Analysis and Finance, 2017

各章でRの本質的な所であるFunctionalプログラミングについて詳述。

Introduction  xv
Chapter 1: Functions in R  1
Chapter 2: Pure Functional Programming  25
Chapter 3: Scope and Closures  43
Chapter 4: Higher-Order Functions  63
Chapter 5: Filter, Map, and Reduce  77
Chapter 6: Point-Free Programming  95
Afterword  101
  1. Metaプログラミング
    Metaprogramming in R: Advanced Statistical Programming for Data Science, Analysis and Finance, 2017

最初にFunctionの復習をしてからFunctionalプログラミングをさらに進めたMetaプログラミングを解説。

Introduction  xi
Chapter 1: Anatomy of a Function  1
Chapter 2: Inside a Function Call  17
Chapter 3: Expressions and Environments  35
Chapter 4: Manipulating Expressions  57
Chapter 5: Working with Substitutions  77
Afterword  99
  1. Object Orientedプログラミング
    Advanced Object-Oriented Programming in R: Statistical Programming for Data Science, Analysis and Finance, 2017

必ずしもFunctionalプログラミングの知識は要らないと書かれている。Object Orientedプログラミングについて詳述すると同時にS3などのオブジェクトについてかなり詳しい説明がある。

Introduction  xiii
Chapter 1: Classes and Generic Functions  1
Chapter 2: Class Hierarchies  21
Chapter 3: Implementation Reuse  35
Chapter 4: Statistical Models  43
Chapter 5: Operator Overloading  61
Chapter 6: S4 Classes  73
Chapter 7: R6 Classes  91
Chapter 8: Conclusions  107
  1. Functionalデータ構造
    Functional Data Structures in R: Advanced Statistical Programming in R

関数型「データ構造」についての著作。パフォーマンスはやや劣るがメンテナンス性は上がるらしい。

Chapter 1: Introduction 1
Chapter 2: Abstract Data Structures 3
Chapter 3: Immutable and Persistent Data 25
Chapter 4: Bags, Stacks, and Queues 67
Chapter 5: Heaps 135
Chapter 6: Sets and Search Trees 189
Conclusions 247
  1. DSL
    Domain-Specif ic Languages in R: Advanced Statistical Programming, 2018

大きなプロジェクトでは有効性が高いかも知れないDSLについて詳述。

Chapter 1: Introduction 1
Chapter 2: Matrix Expressions 9
Chapter 3: Components of a Programming Language 31
Chapter 4: Functions, Classes, and Operators 55
Chapter 5: Parsing and Manipulating Expressions 77
Chapter 6: Lambda Expressions 101
Chapter 7: Environments and Expressions 109
Chapter 8: Tidy Evaluation 135
Chapter 9: List Comprehension 159
Chapter 10: Continuous-Time Markov Chains 167
Chapter 11: Pattern Matching 183
Chapter 12: Dynamic Programming 215
Chapter 13: Conclusion 247

まとめ

最初と最後二つの書籍は250ページ級だが、あとは100ページ級のモノグラフとして読めるので、初心者が最初の著作を読んで、色々動かしているうちに面白くなってきたら、各トピックに進めば、かなり高度な人材になれると思う。

コメントを残す