ぼくは医学統計学と疫学が専門です。これらのデータ解析には主にRを使います。
かれこれ15年ほどRを使ってきました。当時、Rに関するまとまった情報は『The R Tips』しかありませんでした。時は流れ、今はたくさんR本やサイトがあります。しかし、たくさんありすぎて何を見れば良いのか迷いますよね?
そこで、ぼくの経験に基づき、おすすめする有益なR本・サイトをまとめてみました!
RとRStudioの環境構築
矢内先生の「RとRStudioのインストール方法の解説」サイト
まずは解析する環境構築です。Rだけではなく、便利に使うRStudioも使いましょう!
矢内先生のサイトは、これ以上ないぐらい丁寧に解説されています。各種OSに対応していますので、非常に参考になります。
基礎(網羅的)
Rが使えるようになったら、いざ検定!とはいきません。データを読み込んだり、ハンドリングしたり、可視化したり、いろいろな手順が必要です。
これらを網羅的に扱っている本は下記の通りです。
Rではじめるデータサイエンス
tidyverseを筆頭にモダンなRの使い方を一通り学べます。モデリングの章などは中級者以上でも参考になるはずです。

- 作者:Hadley Wickham,Garrett Grolemund
- 発売日: 2017/10/25
- メディア: 単行本(ソフトカバー)
RユーザーのためのRStudio実践入門
『Rではじめるデータサイエンス』は網羅的ですが、初学者が取り組むとなると少しハードルが高いかもしれません。
そこでこの本です。特にデータハンドリングと可視化の基礎能力をつけることができると思います。もう少しで第2版が出るようで楽しみです!
The R Tips
最近はtidyverseを使ったプログラミングが流行っていますが、Rが元から準備している関数(ベースと言います)や技法を知っていると小回りきくことが多いです。
また発展的な解析手法を扱う本は洋書・和書問わずベースで書かれていることが多く、そういう意味でもベースを知っていることは有益だと思います。

The R Tips 第3版: データ解析環境Rの基本技・グラフィックス活用集
- 作者:暢男, 舟尾
- 発売日: 2016/10/13
- メディア: 単行本
Rクックブック
「文字列の長さを知りたいときはどうするの?」みたいな具体的な疑問があるときに役立ちます。

- 作者:J.D. Long,Paul Teetor
- 発売日: 2020/01/17
- メディア: 単行本(ソフトカバー)
宋先生の「Rプログラミング入門の入門」サイト
Web上の情報では、宋先生のこのサイトがまとまっていると思います*1。
データハンドリング特化
『Rではじめるデータサイエンス』や『RユーザーのためのRStudio実践入門』でもデータハンドリングを扱っていますが、宋先生の下記サイトは本当に細かくまとまっております*2!
宋先生の「dplyr入門 (dplyr 1.0.0対応)」Webページ
宋先生の「tidyr入門」Webページ
可視化特化
Rにデータ読み込んで、解析できる形にデータを整えたら、いざ検定! とはなりません。
その前に、データを要約したり可視化して全体像を把握することが重要です。外れ値の発見したり、思わぬミスに気づくことができます。
また、解析した結果を共同研究者や依頼者、雑誌に見せる場面でもきれいな図は目を引き、全体的な説得力を高めます*3!!
このような図の作成は、ggplot2一択で考えて良いと思います*4。
Rグラフィックスクックブック
トナカイ本です。ぼくのR本の中でもっともお世話になっている本と言っても過言ではないでしょう。

Rグラフィックスクックブック 第2版 ―ggplot2によるグラフ作成のレシピ集
- 作者:Winston Chang
- 発売日: 2019/11/21
- メディア: 単行本(ソフトカバー)
データ分析のためのデータ可視化入門
トナカイ本はクックブックとある通り、How to本です。自分自身で図をイメージしそれを実現する方法をトナカイ本で調べます。
しかし、そもそもどのような図が効果的なのか?という視点にたったときに、この本は役に立ちます。その実現方法も分かります。

実践Data Scienceシリーズ データ分析のためのデータ可視化入門 (KS情報科学専門書)
- 作者:キーラン・ヒーリー
- 発売日: 2021/01/28
- メディア: 単行本
宋先生の「ggplot2入門シリーズ」 Webページ
可視化でも宋先生のサイトです*5。
統計解析
実際のデータ解析では、やはり検定や多変量解析をおこないます。網羅的な本をあげて、その後、分野に特化した本をあげていきます。
検定といったシンプル解析方法を網羅的に扱っている本は意外と少ないかもしれません。
網羅的
Rで学ぶ統計的データ解析
さまざまな統計解析手法を、言葉で説明→Rを使って説明→数理、という流れで学習していきます。
イメージをつけ、どうしてそうなるの?という問いを自分でもってから数値に臨めるので、数理が苦手でもとっつきやすいはずです。

- 作者:林 賢一
- 発売日: 2020/11/30
- メディア: 単行本
社会科学のためのデータ分析入門
ぼくは医学よりです。この今井先生の本は社会科学を例に取っていますがとても分かりやすかったです。今井先生は因果推論の方法論を牽引しているため、その周辺内容は非常に勉強になりました。

- 作者:今井 耕介
- 発売日: 2018/03/13
- メディア: 単行本

- 作者:今井 耕介
- 発売日: 2019/04/25
- メディア: Kindle版
Rによる統計的学習入門
この本は、機械学習を軸に統計解析手法を学ぶことができます。バイアスや分散、機械学習よりのモデリング視点は参考になります。

- 作者:Gareth James,Daniela Witten,Trevor Hastie,Robert Tibshirani
- 発売日: 2018/08/03
- メディア: 単行本(ソフトカバー)
モデリング
ここからは、回帰モデルに特化したR本を紹介します。
平均・分散から始める一般化線形モデル入門
この本はもっとも簡単にまとめられています。まずはこの本を読んで、glm(一般化線形モデル:線形回帰モデル、ロジスティック回帰モデル、ポアソン回帰モデル等の統一的な呼び方)の使い方を学びましょう。
glmは、後述する多くのモデリング関数のベースになります。

- 作者:馬場 真哉
- 発売日: 2015/07/14
- メディア: 単行本
RとStanではじめるベイズ統計モデリングによるデータ分析入門
モデリングは、線形モデル→一般化線形モデル→一般化線形混合効果モデル→ベイズモデルと柔軟になっていきます。
データの生成過程を考えながら、それにあったモデリングの方法を学べます。この本ではRだけではなく、Stanという違う言語も扱います*6。

実践Data Scienceシリーズ RとStanではじめる ベイズ統計モデリングによるデータ分析入門 (KS情報科学専門書)
- 作者:馬場 真哉
- 発売日: 2019/07/10
- メディア: 単行本
データ解析のための統計モデリング入門
緑本です。ベイズのところは扱っているツールが少し古いですが、内容は古くありません。モデリングの方法をやさしい語り口で学ぶことができます。
なんだかんだで今も見直します。

データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学)
- 作者:久保 拓弥
- 発売日: 2012/05/19
- メディア: 単行本
因果推論
今ホットな因果推論です。まだ日本語で、Rでの解析方法も含めた本は多くありません。
効果検証入門
因果推論の説明はもちろん、Rのコードの書き方も参考になります。医学系は言葉の使い方が違う*7ので少々注意が必要です。

- 作者:安井 翔太
- 発売日: 2019/12/27
- メディア: Kindle版
Causal Inference: What If
詳しくわかりやすい因果推論本です。Rの解析*8も載っています。
まだ日本語化されていませんが、今後に期待ですね!!!
ちなみに勉強会も2020年に開催しました。まとめた資料や動画は次の通りです。
欠測の取り扱い
欠測データ処理 Rによる単一代入法と多重代入法
データ解析は、欠測の取り扱いにも注意が必要です。また欠測を気をつけるかどうかが、データ解析者の能力の分水嶺にもなっていると思います。
解析ソフトのデフォルト設定に任せた安易な解析から抜け出しましょう。 ということで、この本は唯一のRを使った欠測データ処理本です。
時系列データ特化
最近、個人的に時系列データを扱うのでまとめました。下記2冊はとても参考になりました。
時系列分析と状態空間モデルの基礎 RとStanで学ぶ理論と実装

時系列分析と状態空間モデルの基礎: RとStanで学ぶ理論と実装
- 作者:真哉, 馬場
- 発売日: 2018/02/14
- メディア: 単行本
基礎からわかる時系列分析 Rで実践するカルマンフィルタ・MCMC・粒子フィルタ
遺伝統計学特化
ゲノムの解析をする機会もあったので、そのときはこの本にお世話になりました。検定の多重性を重視する分野であるため、多重性の解説はわかりやすかったです。
実践でわかる!Rによる遺伝統計学

- 作者:アンドレア・S. フォルクス
- 発売日: 2016/01/01
- メディア: 単行本
プログラミング
同じ解析を繰り返すときは同じコードをコピペするのはナンセンスです。解決策としてはまず関数化ですが、さらに一歩先にいきましょう。
purrrを使えば、並行して同じ解析をし、その結果をまとめ、必要に応じて自在に引き出すことができます。
ここでも、宋先生のサイトがわかりやすいです*9。
宋先生の「purrr入門」
ということで、自信をもっておすすめできるR本・サイトをまとめてみました。随時更新していこうと思います!
ご参考になれば幸いです。