Rds形式の衆院選データ (hr-data.Rds) を読み込む。 手元にない場合はまずダウンロードする。
# 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/fAnI2",
# destfile = "data/hr96-17.csv")
#HR <- read_csv("data/hr96-17.csv", na = ".")正しく読み込めたかどうか確認する。
## Rows: 8,803
## Columns: 22
## $ year <dbl> 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996,…
## $ ku <chr> "aichi", "aichi", "aichi", "aichi", "aichi", "aichi", "aich…
## $ kun <dbl> 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3,…
## $ status <fct> 現職, 元職, 現職, 新人, 新人, 新人, 新人, 現職, 元職, 新人, 新人, 新人, 新人, 新人, 新人,…
## $ name <chr> "KAWAMURA, TAKASHI", "IMAEDA, NORIO", "SATO, TAISUKE", "IWA…
## $ party <chr> "NFP", "LDP", "DPJ", "JCP", "others", "kokuminto", "indepen…
## $ party_code <dbl> 8, 1, 3, 2, 100, 22, 99, 8, 1, 3, 2, 10, 100, 99, 22, 8, 1,…
## $ previous <dbl> 2, 3, 2, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0,…
## $ wl <fct> 当選, 落選, 落選, 落選, 落選, 落選, 落選, 当選, 落選, 復活当選, 落選, 落選, 落選, 落選, 落…
## $ voteshare <dbl> 40.0, 25.7, 20.1, 13.3, 0.4, 0.3, 0.2, 32.9, 26.4, 25.7, 12…
## $ age <dbl> 47, 72, 53, 43, 51, 51, 45, 51, 71, 30, 31, 44, 61, 47, 43,…
## $ nocand <dbl> 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7,…
## $ rank <dbl> 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5,…
## $ vote <dbl> 66876, 42969, 33503, 22209, 616, 566, 312, 56101, 44938, 43…
## $ eligible <dbl> 346774, 346774, 346774, 346774, 346774, 346774, 346774, 338…
## $ turnout <dbl> 49.2, 49.2, 49.2, 49.2, 49.2, 49.2, 49.2, 51.8, 51.8, 51.8,…
## $ exp <dbl> 9828097, 9311555, 9231284, 2177203, NA, NA, NA, 12940178, 1…
## $ expm <dbl> 9.828097, 9.311555, 9.231284, 2.177203, NA, NA, NA, 12.9401…
## $ vs <dbl> 0.400, 0.257, 0.201, 0.133, 0.004, 0.003, 0.002, 0.329, 0.2…
## $ exppv <dbl> 28.341505, 26.851941, 26.620462, 6.278449, NA, NA, NA, 38.2…
## $ smd <fct> 当選, 落選, 落選, 落選, 落選, 落選, 落選, 当選, 落選, 落選, 落選, 落選, 落選, 落選, 落選,…
## $ party_jpn <chr> "新進党", "自民党", "民主党", "共産党", "その他", "国民党", "無所属", "新進党", "自民…
得票数の95%信頼区間を求める。
vote_ci95 <- t.test(HR$vote, conf.level = 0.95)$conf.int
## conf.levelの既定値は0.95なので指定しなくても同じ
# vote_ci95 <- t.test(HR$vote)$conf.int
vote_ci95## [1] 54065.67 55756.63
## attr(,"conf.level")
## [1] 0.95
獲得票数の95%信頼区間は、[54066, 55757] である。
得票数の50%信頼区間を求める。
## [1] 54620.22 55202.08
## attr(,"conf.level")
## [1] 0.5
獲得票数の50%信頼区間は、[54620, 55202] である。
上で同じ変数について求めた信頼度の異なる二つの信頼区間を比べると、50%信頼区間よりも95信頼%信頼区間の方が長い。
標本を抽出を何度もなんども繰り返し(\(N > 10,000\)回繰り返すとしよう)、新しい標本を抽出するたびに信頼区間を計算するという作業を行うとする。このとき、得られた\(N\)個の50%信頼区間のうち、約50% (約\(0.5N\)個) の信頼区間は母数(パラメタ)を信頼区間内に捉えていることが期待される。同様に、得られた\(N\)個の95%信頼区間のうち、約95% (約\(0.95N\)個) の信頼区間は母数を信頼区間内に捉えていることが期待される。つまり、信頼度の高い信頼区間の方が、母数を捉える確率が高い。信頼区間では、区間内に母数があるかどうかが問題になるので、区間が長いほど、母数を区間内に含みやすくなる。したがって、50%信頼区間より95%信頼区間の方が長くなる。