1. 候補者別・政党別・選挙別分析
- 1.1 データのダウンロード
- 1.2 特定の候補者の選挙結果履歴を調べる
- 1.3 Exercise
- 1.4 複数の候補者の選挙結果履歴を比較する
- 1.5 Exercise
- 1.6 選挙別の政党データを分析する
- 1.7 Exercise
- 1.8 条件を付けてデータを抜き出して図示する

2. 選挙区別・都道府県別分
- 2.1 2012年衆院選データの読み込み
- 2.2 選挙費用平均(小選挙区別)
- 2.3 Exercise
- 2.4 選挙費用平均(都道府県別)

3. 特定の値を一つずつ抜き出す - 3.1 2014年衆院選データの読み込み
- 3.2 2014年に出馬した政党名一覧の表示
- 3.3 「都道府県別」の立候補者数を計算する
- 3.4 「小選挙区別」の立候補者数を計算する
- 3.5. Exercise

このセクションで使っている packages

library("plyr")
library("DT")
library("tidyverse")
## ─ Attaching packages ─────────────── tidyverse 1.2.1 ─
## ✔ ggplot2 3.1.0     ✔ purrr   0.2.5
## ✔ tibble  1.4.2     ✔ dplyr   0.7.8
## ✔ tidyr   0.8.2     ✔ stringr 1.3.1
## ✔ readr   1.3.0     ✔ forcats 0.3.0
## ─ Conflicts ──────────────── tidyverse_conflicts() ─
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()

グラフの設定 (Macユーザのみ)

・ggplot を使ったグラフの中に日本語を表記させるためのコマンド
・ggplot でグラフの背景を白に指定したい場合

theme_set(theme_classic(base_size = 10,
                        base_family = "HiraginoSans-W3"))

・ggplot でグラフの背景をグレーに指定したい場合

theme_set(theme_gray(base_size = 10,
                     base_family = "HiraginoSans-W3")) 

1. 候補者別・政党別・選挙別分析

1.1 データのダウンロード

・衆院選挙 (1996-2017) データhr96_17.csvをダウンロードし、RProjctフォルダーに保存。

・1996年から2017年までの衆院選挙データ (hr96_17.csv) を読み取り hr というデータフレーム名を付ける。

hr <- read_csv("hr96_17.csv", na = ".")

1.2 特定の候補者の選挙結果履歴を調べる

安倍晋三氏の得票率

・データフレーム hr を使って安倍晋三氏のこれまでの選挙結果の履歴を表示してみよう
・データフレーム hr に含まれる変数を表示させる

names(hr)
 [1] "year"       "ku"         "kun"        "status"     "name"      
 [6] "party"      "party_code" "previous"   "wl"         "voteshare" 
[11] "age"        "nocand"     "rank"       "vote"       "eligible"  
[16] "turnout"    "exp"       

・分析に必要な変数を filter() 関数を使って取り出し、shinzo と名前を付ける

shinzo <- hr %>%
  filter(name == "ABE, SHINZO") %>%
  select(year, ku, kun, party, age, nocand, rank, previous, vote, voteshare)
DT::datatable(shinzo)

安倍晋三氏の得票率の平均は

mean(shinzo$voteshare) # voteshare の平均値
[1] 71.33375

安倍晋三氏の得票率を1996年から2017年まで表示する

ggplot(shinzo, aes(x = year, y = voteshare)) + 
  geom_point() +
  geom_line() +
  ggtitle("安倍晋三氏の得票率: 1996-2017衆院選") +
  geom_hline(yintercept = mean(shinzo$voteshare), # 安倍氏の得票率の平均に線を引く
             col = "tomato", 
             linetype = "dotted",
             size = 1) +
  geom_text(aes(y = voteshare + 1, label = voteshare), size = 4, vjust = 0) +
  labs(x = "総選挙年", y = "得票率(%)")