開発経済学のためのR


開発経済をやっています。備忘録です。

**Rの使い方**

学生がデータ分析する際にはRかpythonを用いるのが一般的です（stataとかSPSSは高いので）。自分は、Rのほうがコードが直観的で使いやすかったので、主にRを用いていました。なので今回はRの使い方について解説していきます。最近の主流はRCTを始めとする因果推論ですが、いきなりそれらを行うのは難しい（そもそもRCTに関しては学部生が実施できるのか？）ので、まずは単回帰分析、重回帰分析を出来るようにすることを目標にします。一応因果推論についても書いているので、意欲・興味のある方はチャレンジしてみてください。

**1)インストール方法**

まずはRとR studioをインストールしましょう。

下のサイトが参考になると思います。Rの使い方に関しては、すでにいろいろな人がネット上に解説を書いてくれているので、使えるサイトを紹介していく形になります。（手抜きです）

(インストール法）[https://qiita.com/n159bob_d/items/1fe7ee9b7fdc86f2c13f](https://qiita.com/n159bob_d/items/1fe7ee9b7fdc86f2c13f)

(基本的な使い方)  [https://kazutan.github.io/JSSP2018_spring/intro_rstudio.html](https://kazutan.github.io/JSSP2018_spring/intro_rstudio.html)

(英語ができる人向け)http://urfie.net/read/index.html#page/14

**2)データの読み込み**

①簡単な読み込み法

[https://qiita.com/kazutan/items/70e9e4f683555ef74cd9](https://qiita.com/kazutan/items/70e9e4f683555ef74cd9)

②スクリプトによる読み込み法

[https://qiita.com/saspy/items/da8c5b3e4ebae4fd40d0](https://qiita.com/saspy/items/da8c5b3e4ebae4fd40d0)

**3)dplyr**

Rには、dplyrというデータフレームの操作に適したパッケージがあります。

dplyrはめちゃくちゃ便利なので、データフレームの操作に関しては、dplyrだけで事足りると思います。

(dplyrを使いこなす！基礎編）[https://qiita.com/matsuou1/items/e995da273e3108e2338e](https://qiita.com/matsuou1/items/e995da273e3108e2338e)

(dplyrを使いこなす！Window関数編)[https://qiita.com/matsuou1/items/db6e8c48fcfd791dd876](https://qiita.com/matsuou1/items/db6e8c48fcfd791dd876)

(dplyrを使いこなす！JOIN編)[https://qiita.com/matsuou1/items/b1bd9778610e3a586e71](https://qiita.com/matsuou1/items/b1bd9778610e3a586e71)

(dplyrのチートシート）[https://www.rstudio.com/wp-content/uploads/2015/09/data-wrangling-japanese.pdf](https://www.rstudio.com/wp-content/uploads/2015/09/data-wrangling-japanese.pdf)

**4)パイプ**

dplyrにはパイプ演算子というものもあります。パイプを習得すると、より直観的に、よりシンプルに、コードが書けるのでぜひ使えるようにしましょう！

[パイプ演算子 - Qiita](https://qiita.com/zakkiiii/items/ecb7ddf55c7f1bfacecf)

**5)基本統計量の出力**

Rには基本統計量を出力できる方法が何通りかありますが、ここではsummary()関数とsummarytoolsというパッケージを紹介します。データ分析をする際は、まず基本統計量を出して、データの特徴を掴むことが必須です。これをしないとデータの中身がよくわかっていないまま分析をすることになるので、方針がブレブレになります。

①summary()関数

[https://qiita.com/Quantas/items/cfaa9d01166a3d6dfb55](https://qiita.com/Quantas/items/cfaa9d01166a3d6dfb55)

②summarytools

[https://rstudio-pubs-static.s3.amazonaws.com/55203_4edc6e51023344669eb2393001271a37.html](https://rstudio-pubs-static.s3.amazonaws.com/55203_4edc6e51023344669eb2393001271a37.html)

**4)単回帰分析**

[https://qiita.com/ksincidents/items/0a0d1ff4b25d861de8dd](https://qiita.com/ksincidents/items/0a0d1ff4b25d861de8dd)

**5)重回帰分析**

[https://qiita.com/FruitGranola/items/09aaecb53dd247e025af](https://qiita.com/FruitGranola/items/09aaecb53dd247e025af)

**6)ロジスティックス回帰分析**

被説明変数がダミー変数（0か1）の時は、ロジステック回帰が使えます。

[https://qiita.com/FruitGranola/items/0a820fbc59891b5a2d21](https://qiita.com/FruitGranola/items/0a820fbc59891b5a2d21)

**7)回帰分析の結果を論文みたくきれいにまとめる(stargazer)**

[https://www.jakeruss.com/cheatsheets/stargazer/](https://www.jakeruss.com/cheatsheets/stargazer/)

**8)おまけ（Rをgoogle colaboratory上で使えるようにする）**

グループ研究をしていると、スクリプトを共有したくなる場面が出てくると思います。R studioにも[R studio cloud](https://qiita.com/purple_jp/items/943ea284c9ce7213a211)なるものがあるのですが、まだα版なのでいまいち使い勝手がよくないです。そこでおすすめなのが、google colaboratory上でRを使うことです。いくつかのライブラリが対応していない（summarytoolsなど）というデメリットはありますが、快適に使えるのでオススメです。→[https://htsuda.net/stats/colab.html](https://htsuda.net/stats/colab.html)

設定は少し面倒ですが、便利です。

**9)因果推論**

ここまでに書いた単回帰分析や重回帰分析だけでは、因果関係は導き出せません。因果関係を導き出す方法として、因果推論があります。代表的な手法はRCTやDID、DDRです。基礎計量でも習ったとは思うのですが、不安な方には「データ分析の力　因果関係に迫る思考法」をお勧めします。また、下に貼ってあるURLには因果推論の内容が平易にまとまっているので、まずはこれを見てみるとよいかもしれません。[https://comemo.nikkei.com/n/neec7d5c18666](https://comemo.nikkei.com/n/neec7d5c18666)

①RCT

RCTというRのパッケージを見つけました。もしかしたら使えるかも

[https://cran.r-project.org/web/packages/RCT/RCT.pdf](https://cran.r-project.org/web/packages/RCT/RCT.pdf)

②自然実験

RCTは、実際に実験を行う必要があるので、金銭的にも立場的にも学部生が行うことは現実的には厳しいと思います。そこで、RCTの代替として自然実験を活用することをお勧めします。自然実験とは、簡単に言えば、社会の中でRCTのような状況が生まれることです。例えば、コロナウイルスのワクチンをランダムに接種させる国があったとしたら、そこにはワクチンを打っていない集団（比較集団）とワクチンを打った集団（介入集団）が生まれるはずです。この2つの集団を調べることでワクチン接種の介入効果が測定できます。社会政策などによって、自然実験が生まれた事例は多数あります。自然実験をうまく活用することで、学部生にもRCTのような研究ができます。

(自然実験の事例）[http://economicspsychologypolicy.blogspot.com/2015/06/list-of-19-natural-experiments.html](http://economicspsychologypolicy.blogspot.com/2015/06/list-of-19-natural-experiments.html)

とはいっても自然実験の事例を探すことは大変です。特に、開発途上国の政策を調べて自然実験が生じているものを探すのは面倒です。

③その他の因果推論

因果推論は奥深く、真に因果推論を理解するには統計学を深く理解する必要があります。正直、因果推論に関しては僕も全然理解できていないので、統計に詳しそうな人のブログを載せておきます。

[https://saltcooky.hatenablog.com/archive/category/因果推論](https://saltcooky.hatenablog.com/archive/category/%E5%9B%A0%E6%9E%9C%E6%8E%A8%E8%AB%96)

[https://www.jstage.jst.go.jp/article/ojjams/34/1/34_20/_pdf](https://www.jstage.jst.go.jp/article/ojjams/34/1/34_20/_pdf)

**10)最後に**

プログラミングは試行錯誤しながら習得するものだと思っているので、まずは自力で頑張ってみましょう。（Rの基本的な使い方とかggplot2については省きました）分からないことはインターネットで検索すれば大体出てきます。おすすめのサイトは[Qiita](https://qiita.com/)と[stack overflow](https://ja.stackoverflow.com/)です。また、最初から難しいことをやろうとしてもできないので、簡単なことからやってみると良いと思います。