21 Rを学ぶためのリソース
プログラミングを学ぶためには、自分でリソースを探し疑問を解決していくことが欠かせない。ただ、インターネットや書店にもRの書籍や情報が膨大にあり、どれを参考にしたらよいか分かりづらい。ここでは、データ分析のプログラミングを学ぶために特に役に立つと考えるリソースを紹介する。
- 指針 …
tidyverse R
への準拠: Rには、伝統的に使われてきたbase R
と、2010年代後半から「主流」になっているtidyverse R
がある。僕は、コードが人間にとって自然に読めるという「可読性」を重要視したいと考えている。よって、tidyverse R
に準拠したリソースを重点的に紹介し、最後に、base R
やdata.table
を含むより広いリソースを紹介する。 - コツ … インターネットでコードを検索するとき、“tidyverse R”もしくは”dplyr r”などと書き足すと、
base R
ではなくtidyverse R
の書き方についての情報を見つけやすくなる。
- はじめに
- オンラインの資料
- 日本語の書籍
- 発展的内容
- tidyverse Rに限定しない発展的内容
1. はじめに
まず、プログラミング言語の基礎語彙を学び、実際に手を動かしてみることが効果的である。
- R Studio cheat sheets: 最重要のコマンドを簡潔にまとめている。ぜひ印刷をして手元に置き、コマンドを調べるために、すぐに手がかりとできるようにしよう。
- RStudio Primers: オンライン環境を使って、コードを一歩ずつ書き進めながら勉強することができる。英語ではあるが、コードを書くのに慣れるためにとても効率的である。
2. オンラインの資料
基礎語彙などに加え、多くの概念を体系的に勉強することも役に立つ。Rのコミュニティでは、無料で多くの資料が公開されている。
- Rで計量政治学入門 … by 土井翔平先生
- 私たちのR ベストプラクティスの追求 … by 宋財泫先生・矢内勇生先生
- Rで学ぶ計量経済学と機械学習 … by 安藤道人先生
- The R Graph Gallery …
ggplot2
を使ったインスピレーション集
3. 日本語の書籍
時間をかけて勉強するためには、オンラインのリソースのみでなく、ページをめくって付箋を貼って勉強したいときもあるだろう。多くの書籍があるが、僕自身がもっともお世話になったものを紹介する。
- 改訂2版 RユーザのためのRStudio[実践]入門〜tidyverseによるモダンな分析フローの世界 (技術評論社) by 松村優哉、湯谷啓明、紀ノ定保礼、前田和寛 …
tidyverse R
の使い方について、具体例をまじえ、丁寧に教えてくれる。
- データサイエンスのための Rプログラミングスキル by Michael Freeman & Joel Ross (共立出版) …
tidyverse R
の使い方について、考え方や概念なども含め、読みやすく教えてくれる。
- Rではじめるデータサイエンス (O’Reilly) by Hadley Wickham & Garrett Grolemund …
tidyverse
などをつくった著者たちが、プログラミングの概念などについて厳密に教えてくれる。(この英語の内容は、著者のホームページに公開している。)
- 実践Data Scienceシリーズ データ分析のためのデータ可視化入門 (講談社) by キーラン・ヒーリー …
ggplot2
を用いたデータ可視化の考え方を、多くの事例とともに紹介してくれる。
4. 発展的内容
個人のプロジェクトとしてデータを分析するのに加え、グループで分析したり、プログラムを書いたりするために、より発展的な内容を説明しているリソースを紹介する。
Style guides
tidyverse style guide: RStudio社内でのRプログラミング・ルール
Google style guide: Google社内でのRプログラミング・ルール
(関数の戻り値に
return()
のコマンドを明示的に書くべきか、ということについて、2つのstyle guideで考えが異なるようである。)
- Advanced R by Hadley Wickham … プログラミング言語としてRを考えるときに役立つ情報がたくさん載っている。
5. tidyverse Rに限定しない発展的内容
R言語の歴史は長く、tidyverse R
のコミュニティ以外にも優れた書籍が多く存在する。その中でも、プログラミングの考え方やbase R
について特に丁寧に説明しているものを紹介する。
- Rプログラミング本格入門:達人データサイエンティストへの道 (共立出版) by Kun Ren … プログラミング言語としてのRの特徴をおさえながら、丁寧に説明をしてくれる。
- アート・オブ・Rプログラミング (O’Reilly) by Norman Matloff … デバッグの考え方を丁寧に説明し、プログラミングのために気をつけたいことを詳細に説明してくれる。
- The R Tips: データ解析環境Rの基本技・グラフィックス活用集(オーム社) by 舟尾 暢男 … こつこつ著者が丁寧に時間をかけて調べて勉強したことが伝わってくる良書。
- 上記の書籍は、値段が高いものも多い。購入する前に中身を確認したい人は、大型書店のプログラミング・コーナーでも確認できるものが多いであろうし、研究室に来てもらえれば、確認をしてもらうことができる。
- Rプログラムは、日々、ものすごいスピードで進化している。上の資料に加えて、特に便利なリソースを見つけたら、ぜひ教えてほしい。
謝辞: 横浜国大では、多くの学生にプログラミングをサポートしてもらう幸運に恵まれている。上の資料については、近本海瑠さん、坂上幸さん、伊藤弘紀さんからの紹介に感謝を示したい。