---
title: "Rによる計量政治学：練習問題の解答例"
subtitle: "第10章 回帰分析の基礎"
author: "浅野正彦, 矢内勇生"
date: "2018-11-28"
output:
    html_document:
        theme: united
        highlight: tango
        css: my-markdown.css
        toc: true
        self_contained: true
---

```{r global_option, include = FALSE}
knitr::opts_chunk$set(warning = FALSE, echo = TRUE, message = FALSE,
                      fig.width = 5, fig.height = 4, cache = TRUE)
```

## パッケージの読み込み

```{r load-packs}
library("tidyverse")
if (capabilities("aqua")) { # Macかどうか判定し、Macの場合のみ実行
  theme_set(theme_gray(base_size = 10, base_family = "HiraginoSans-W3"))
}                                             
```


## Q10-1

Rds形式の衆院選データ (hr-data.Rds) を読み込む。
手元にない場合はまずダウンロードする。
```{r read-HR-data}
# dir.create("data") # dataディレクトリがない場合は作る
#download.file(url = "https://git.io/fp00p",
#              destfile = "data/hr-data.Rds")
HR <- read_rds("data/hr-data.Rds")
## Rdsファイルの読み込みがうまくいかない場合は以下を実行してCSVファイルを使う
#download.file(url = "https://git.io/fxhQU",
#              destfile = "data/hr-data.csv")
#HR <- read_csv("data/hr-data.csv")
```

正しく読み込めたかどうか確認する。
```{r check-HR}
glimpse(HR)
```

1996年の衆院選だけを抜き出してデータフレームを作る。
```{r}
HR1996 <- filter(HR, year == 1996)
```

### Q10-1-1

得票率 voteshare と 選挙費用 (expm) の散布図を描き、回帰直線を上書きする。
```{r}
p_q10 <- ggplot(HR1996, aes(x = expm, y = voteshare)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE) +
  labs(x = "選挙費用（100万円）", y = "得票率 (%)")
print(p_q10)
```

直線が右上がりになっており、選挙費用が大きいほど得票率が高いという関係がありそうに見える。

### Q10-1-2

得票率 voteshare を年齢 age と選挙費用 expm （単位は100万円）
に回帰する。
```{r}
fit_q10 <- lm(voteshare ~ age + expm, data = HR1996)
summary(fit_q10)
```

この結果から、応答変数である得票率と説明変数である年齢と選挙費用の関係は、以下の式で表せる。

$$\widehat{得票率} = `r round(coef(fit_q10)[1], 2)` +  `r round(coef(fit_q10)[2], 2)` \cdot 年齢 +  `r round(coef(fit_q10)[3], 2)` \cdot 選挙費用.$$

### Q10-1-3

まず、切片は約`r round(coef(fit_q10)[1], 2)`である。これは、すべての説明変数の値が0のときの応答変数の予測値である。すなわち、選挙費用が0円で0歳の候補者の予測得票率は、`r round(coef(fit_q10)[1], 2)`%である。（もちろん、そんな候補者は存在しない。）

次に、年齢の係数は、約`r round(coef(fit_q10)[2], 2)` である。これは、他の条件が等しいとき、年齢が1単位増えるごとに、応答変数の予測値は平均すると`r round(coef(fit_q10)[2], 2)`単位ずつ上昇することを示している。応答変数である得票率の測定単位はパーセント、年齢の測定単位は1歳である。よって、**選挙費用が一定なら**、年齢が1歳上昇するごとに、得票率の予測値は平均すると`r round(coef(fit_q10)[2], 2)`パーセントポイントずつ上昇する。

最後に、選挙費用の係数は約`r round(coef(fit_q10)[3], 2)`である。これは、他の条件が等しいとき、選挙費用が1単位増えるごとに、応答変数の予測値は平均すると`r round(coef(fit_q10)[3], 2)`単位ずつ上昇することを示している。選挙費用の測定単位は100万円である。よって、**年齢が一定なら**、選挙費用が100万円増えるごとに、得票率の予測値は平均すると`r round(coef(fit_q10)[3], 2)`パーセントポイントずつ上昇する。
