Open Box with STAT

基本的な統計学と疫学的手法,それらの文献等,R等の統計ソフトの使い方をブログ記事やYoutubeを用いて解説します.

データ解析に役立つおすすめR本とサイト

f:id:shuntaro-web:20210519190613j:plain

ぼくは医学統計学と疫学が専門です。これらのデータ解析には主にRを使います。

かれこれ15年ほどRを使ってきました。当時、Rに関するまとまった情報は『The R Tips』しかありませんでした。時は流れ、今はたくさんR本やサイトがあります。しかし、たくさんありすぎて何を見れば良いのか迷いますよね?

そこで、ぼくの経験に基づき、おすすめする有益なR本・サイトをまとめてみました!

RとRStudioの環境構築

矢内先生の「RとRStudioのインストール方法の解説」サイト

まずは解析する環境構築です。Rだけではなく、便利に使うRStudioも使いましょう!

矢内先生のサイトは、これ以上ないぐらい丁寧に解説されています。各種OSに対応していますので、非常に参考になります。

矢内 勇生 - その他

基礎(網羅的)

Rが使えるようになったら、いざ検定!とはいきません。データを読み込んだり、ハンドリングしたり、可視化したり、いろいろな手順が必要です。

これらを網羅的に扱っている本は下記の通りです。

Rではじめるデータサイエンス

tidyverseを筆頭にモダンなRの使い方を一通り学べます。モデリングの章などは中級者以上でも参考になるはずです。

Rではじめるデータサイエンス

Rではじめるデータサイエンス

RユーザーのためのRStudio実践入門

『Rではじめるデータサイエンス』は網羅的ですが、初学者が取り組むとなると少しハードルが高いかもしれません。

そこでこの本です。特にデータハンドリングと可視化の基礎能力をつけることができると思います。もう少しで第2版が出るようで楽しみです!

The R Tips

最近はtidyverseを使ったプログラミングが流行っていますが、Rが元から準備している関数(ベースと言います)や技法を知っていると小回りきくことが多いです。

また発展的な解析手法を扱う本は洋書・和書問わずベースで書かれていることが多く、そういう意味でもベースを知っていることは有益だと思います。

Rクックブック

「文字列の長さを知りたいときはどうするの?」みたいな具体的な疑問があるときに役立ちます。

Rクックブック 第2版

Rクックブック 第2版

宋先生の「Rプログラミング入門の入門」サイト

Web上の情報では、宋先生のこのサイトがまとまっていると思います*1

Rプログラミング入門の入門

データハンドリング特化

『Rではじめるデータサイエンス』や『RユーザーのためのRStudio実践入門』でもデータハンドリングを扱っていますが、宋先生の下記サイトは本当に細かくまとまっております*2

宋先生の「dplyr入門 (dplyr 1.0.0対応)」Webページ

dplyr入門 (新版)

宋先生の「tidyr入門」Webページ

tidyr入門

可視化特化

Rにデータ読み込んで、解析できる形にデータを整えたら、いざ検定! とはなりません。

その前に、データを要約したり可視化して全体像を把握することが重要です。外れ値の発見したり、思わぬミスに気づくことができます。

また、解析した結果を共同研究者や依頼者、雑誌に見せる場面でもきれいな図は目を引き、全体的な説得力を高めます*3!!

このような図の作成は、ggplot2一択で考えて良いと思います*4

Rグラフィックスクックブック

トナカイ本です。ぼくのR本の中でもっともお世話になっている本と言っても過言ではないでしょう。

Rグラフィックスクックブック 第2版 ―ggplot2によるグラフ作成のレシピ集

Rグラフィックスクックブック 第2版 ―ggplot2によるグラフ作成のレシピ集

  • 作者:Winston Chang
  • 発売日: 2019/11/21
  • メディア: 単行本(ソフトカバー)

データ分析のためのデータ可視化入門

トナカイ本はクックブックとある通り、How to本です。自分自身で図をイメージしそれを実現する方法をトナカイ本で調べます。

しかし、そもそもどのような図が効果的なのか?という視点にたったときに、この本は役に立ちます。その実現方法も分かります。

宋先生の「ggplot2入門シリーズ」 Webページ

可視化でも宋先生のサイトです*5

ggplot2入門 [基礎編]

ggplot2入門 [理論編]

ggplot2入門 [応用編]

統計解析

実際のデータ解析では、やはり検定や多変量解析をおこないます。網羅的な本をあげて、その後、分野に特化した本をあげていきます。

検定といったシンプル解析方法を網羅的に扱っている本は意外と少ないかもしれません。

網羅的

Rで学ぶ統計的データ解析

さまざまな統計解析手法を、言葉で説明→Rを使って説明→数理、という流れで学習していきます。

イメージをつけ、どうしてそうなるの?という問いを自分でもってから数値に臨めるので、数理が苦手でもとっつきやすいはずです。

社会科学のためのデータ分析入門

ぼくは医学よりです。この今井先生の本は社会科学を例に取っていますがとても分かりやすかったです。今井先生は因果推論の方法論を牽引しているため、その周辺内容は非常に勉強になりました。

社会科学のためのデータ分析入門(上)

社会科学のためのデータ分析入門(上)

社会科学のためのデータ分析入門 (下)

社会科学のためのデータ分析入門 (下)

Rによる統計的学習入門

この本は、機械学習を軸に統計解析手法を学ぶことができます。バイアスや分散、機械学習よりのモデリング視点は参考になります。

Rによる 統計的学習入門

Rによる 統計的学習入門

モデリング

ここからは、回帰モデルに特化したR本を紹介します。

平均・分散から始める一般化線形モデル入門

この本はもっとも簡単にまとめられています。まずはこの本を読んで、glm(一般化線形モデル:線形回帰モデル、ロジスティック回帰モデル、ポアソン回帰モデル等の統一的な呼び方)の使い方を学びましょう。

glmは、後述する多くのモデリング関数のベースになります。

平均・分散から始める一般化線形モデル入門

平均・分散から始める一般化線形モデル入門

RとStanではじめるベイズ統計モデリングによるデータ分析入門

モデリングは、線形モデル→一般化線形モデル→一般化線形混合効果モデル→ベイズモデルと柔軟になっていきます。

データの生成過程を考えながら、それにあったモデリングの方法を学べます。この本ではRだけではなく、Stanという違う言語も扱います*6

データ解析のための統計モデリング入門

緑本です。ベイズのところは扱っているツールが少し古いですが、内容は古くありません。モデリングの方法をやさしい語り口で学ぶことができます。

なんだかんだで今も見直します。

因果推論

今ホットな因果推論です。まだ日本語で、Rでの解析方法も含めた本は多くありません。

効果検証入門

因果推論の説明はもちろん、Rのコードの書き方も参考になります。医学系は言葉の使い方が違う*7ので少々注意が必要です。

Causal Inference: What If

詳しくわかりやすい因果推論本です。Rの解析*8も載っています。

まだ日本語化されていませんが、今後に期待ですね!!!

www.hsph.harvard.edu

ちなみに勉強会も2020年に開催しました。まとめた資料や動画は次の通りです。

openbox-stat.net

欠測の取り扱い

欠測データ処理 Rによる単一代入法と多重代入法

データ解析は、欠測の取り扱いにも注意が必要です。また欠測を気をつけるかどうかが、データ解析者の能力の分水嶺にもなっていると思います。

解析ソフトのデフォルト設定に任せた安易な解析から抜け出しましょう。 ということで、この本は唯一のRを使った欠測データ処理本です。

時系列データ特化

最近、個人的に時系列データを扱うのでまとめました。下記2冊はとても参考になりました。

時系列分析と状態空間モデルの基礎 RとStanで学ぶ理論と実装

基礎からわかる時系列分析 Rで実践するカルマンフィルタ・MCMC・粒子フィルタ

遺伝統計学特化

ゲノムの解析をする機会もあったので、そのときはこの本にお世話になりました。検定の多重性を重視する分野であるため、多重性の解説はわかりやすかったです。

実践でわかる!Rによる遺伝統計学

プログラミング

同じ解析を繰り返すときは同じコードをコピペするのはナンセンスです。解決策としてはまず関数化ですが、さらに一歩先にいきましょう。

purrrを使えば、並行して同じ解析をし、その結果をまとめ、必要に応じて自在に引き出すことができます。

ここでも、宋先生のサイトがわかりやすいです*9

宋先生の「purrr入門」

purrr入門

ということで、自信をもっておすすめできるR本・サイトをまとめてみました。随時更新していこうと思います!

ご参考になれば幸いです。

*1:いつもお世話になっております

*2:いつもお世話になっております。2回目

*3:経験則です

*4:glm等の解析結果を簡単に図で示すためにplot関数は必要です

*5:いつもお世話になっております。3回目

*6:RStudioは一緒に使えます。

*7:交絡が選択バイアスだったり。分野による違いなので、どちらが正しいということはありません

*8:SASもSTATAもサポートされています

*9:いつもお世話になっております。4回目