R packages
library(DT)
library(gapminder)
library(gghighlight)
library(ggrepel)
library(stargazer)
library(tidyverse)
dot plot
)
は視覚的に無駄がなく読みやすいため、棒グラフやヒストグラムの代わりに使われる変数名 | 詳細 |
---|---|
year | 衆議院選挙が実施された年 |
pref | 都道府県名(日本語) |
id | 都道府県の id (1-47) |
nosmd | 都道府県内の小選挙区総数 (1-25) |
ldp | 都道府県内の小選挙区で自民党候補者の当選総数 |
ldp_ratio | 都道府県内の小選挙区総数に占める自民党当選者の割合(%) |
dpj | 都道府県内の小選挙区で民主党候補者の当選総数 |
data
フォルダの中に入れるcsv
ファイルを読み込み、df_seat
と名前をつける<- read_csv("data/hr09_14_ldp_seatshare.csv") df_seat
datatable()
関数を使ってデータフレームの内容を確認する::datatable(df_seat) DT
%>%
df_seat ::filter(year == 2009) %>%
dplyrggplot(aes(x = ldp_ratio,
y = pref)) +
geom_point() +
theme_bw(base_family = "HiraKakuProN-W3")+
labs(x = "自民党の議席率 (%)",
y = "都道府県")
reorder( )
関数を使って自民党当選者の割合
(ldp_ratio
)
の大きい順にソートしてより見やすいロリポップチャートを描く%>%
df_seat ::filter(year == 2009) %>%
dplyrggplot(aes(x = ldp_ratio,
y = reorder(pref, ldp_ratio))) + # ldp_ratio 順に pref を並べ替える
geom_point(size = 2) +
theme(panel.grid.major.x = element_blank(),
panel.grid.minor.x = element_blank(),
panel.grid.major.y = element_line(colour = "grey60", linetype = "dashed")) +
theme_bw(base_family = "HiraKakuProN-W3") +
labs(x = "自民党の議席率 (%)",
y = "都道府県")
facet( )
関数を使って、2009年、2012年、2014年の三回の衆議院選挙において都道府県ごとに自民党が占める議席率がどのように変化してきたかロリポップチャートを使って表示してみるyear
)ごとに表示するため、year
変数を factor
に変換後、2009年の衆議院選挙で自民党が占める議席率をソートし、3
回の選挙ごとに自民党が当選した議席率を都道府県ごとに表示するyear
)
のデータ方をチェックするstr(df_seat$year)
num [1:141] 2012 2014 2009 2012 2014 ...
year
が数値型なので factor
に変換する$year <- factor(df_seat$year) df_seat
%>%
df_seat arrange(year, ldp_ratio) %>%
mutate(order_seq = c(1:47, rep(0, 47*2))) %>% # `order_seq` という変数を加える
ggplot(aes(x = ldp_ratio,
y = reorder(pref, order_seq))) +
geom_segment(aes(yend = pref),
xend = 0, colour = "grey50") +
geom_point(size = 2,
aes(colour = year)) +
scale_colour_brewer(palette = "Set1",
limits = c("2009", "2012", "2014"),
guide = FALSE) +
theme(panel.grid.major.y =
element_blank()) +
facet_grid(~ year,
scales="free_y", space = "free_y") +
theme_bw(base_family = "HiraKakuProN-W3")+
labs(x = "自民党の議席率 (%)",
y = "都道府県")
# year変数を factor に変換する
$year <- factor(df_seat$year) df_seat
%>%
df_seat arrange(year, ldp_ratio) %>%
mutate(order_seq = c(1:47, rep(0, 47*2))) %>%
ggplot(aes(x = reorder(pref, order_seq),
y = ldp_ratio,
fill = year)) +
geom_bar(stat = "identity") +
facet_grid(~ year, scales = "free_x") +
theme(legend.position = "none") +
coord_flip()+
theme_bw(base_family = "HiraKakuProN-W3")+
labs(x = "都道府県",
y = "自民党の議席率 (%)")
まとめ
・ 自民党から民主党に政権交代が起こった2009年の衆議院選挙では、鳥取、島根、高知、福井の四つの県内全ての小選挙区で自民党議員が全員当選している
・ 他方、静岡、大分、新潟、長崎、秋田の五つの県では、2009年の政権交代選挙において、県内全ての小選挙区で自民党議員は全滅したが、2012年の安倍政権への政権交代選挙では自民党候補者が100%当選している
Q2.1:
「1.1. 基本的なロリポップチャート」
の手法を使って、2009年の総選挙において都道府県内の小選挙区総数に占める民主党当選者の割合
(%) を示す新たな変数を作り、dpj_ratio
と名前を付け、ロリポップチャートを描きなさい
・データは hr09_14_ldp_seatshare.csv
をダウンロードして使うこと
Q2.2:
「1.2 グループ分けしたロリポップチャート」
の手法を使って、2009年、2012年、2014年の総選挙において都道府県内の小選挙区総数に占める民主党当選者の割合
(%) をヒストグラムで描きなさい
・データは hr09_14_ldp_seatshare.csv
をダウンロードして使うこと
Q2.3: この結果からどのようなことが言えるか?
参考文献