「マクロ政治データ分析実習」第12回課題

作者

情21-0170 関大太郎

公開

2024年12月12日

セットアップ&データハンドリング

問題1: {tidyverse}、{summarytools}、{modelsummary}、{marginaleffects}、{naniar}パッケージを読み込む。特定のパッケージがインストールされていない場合は、課題に取り組む前にインストールしておくこと。続いて、課題用データ(Macro_HW12.csv)を読み込み、raw_dfという名で格納し、出力する。

  • 課題用データ(Macro_HW12.csv)はLMSからダウンロード可能
  • データはプロジェクト・フォルダー内にDataというフォルダーを作成し、そこにアップロードしておくこと。
  • データの読み込みは必ずread_csv()関数を使うこと(read.csv()は使わない)。
# ここにRコード
# A tibble: 2,377 × 10
   VotedLDP Female   Age  Educ Ideology Issue1 Issue2 Issue3 Issue4 Issue5
      <dbl>  <dbl> <dbl> <dbl>    <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
 1        1      0    38     4       10     10     10     10     10      0
 2        0      0    23     4        7      2     99      6      6      5
 3        0      0    47     4        5      1      2      5     10     10
 4        1      0    48     2        6      6      6     10     99      5
 5        0      1    41     4        5     99      3      8      8      7
 6        0      1    28     4      999      7      3     10      9     10
 7        0      1    69     2        8      9      6      0      4      4
 8        1      0    37     2        8     10     10      5     10     10
 9        0      1    70     2        5      5      5      5      5      5
10        0      1    67     3        7      9      2      0      8      0
# ℹ 2,367 more rows

 本データは早稲田大学の日野愛郎、関西大学(当時は早稲田大学)の宋財泫が実施した2019年参院選後の世論調査の一部である(データにはノイズを加えたため、本課題以外の目的では使用不可)。データの詳細は以下の通りである。

変数 説明 備考 欠損値
VotedLDP 自民党への投票有無 1: 自民党に投票 / 0: その他
Female 性別 0: 男性 / 1: 女性
Age 年齢
Educ 教育水準 高いほど高学歴 9
Ideology 政治的イデオロギー 0:革新〜5:中道〜10:保守 999
Issue1 憲法9条改正への賛否 0:改正反対〜10:改正賛成 99
Issue2 原発再稼働への賛否 0:再稼働反対〜10:再稼働賛成 99
Issue3 夫婦別姓への賛否 0:反対〜10:賛成 99
Issue4 教育無償化への賛否 0:反対〜10:賛成 99
Issue5 同性婚(容認)への賛否 0:反対〜10:賛成 99

問題2: raw_dfの大きさ(= raw_dfの行数と列数)を出力する。

# ここにRコード
[1] 2377   10

問題3: raw_dfの変数名を出力する。

# ここにRコード
 [1] "VotedLDP" "Female"   "Age"      "Educ"     "Ideology" "Issue1"  
 [7] "Issue2"   "Issue3"   "Issue4"   "Issue5"  

問題4: raw_dfの記述統計を出力する。

  • 平均値、標準偏差、最小値、最大値、有効ケース数を出力
# ここにRコード
Descriptive Statistics  
raw_df  
N: 2377  

                  Mean   Std.Dev     Min      Max   N.Valid
-------------- ------- --------- ------- -------- ---------
      VotedLDP    0.30      0.46    0.00     1.00   2377.00
        Female    0.44      0.50    0.00     1.00   2377.00
           Age   53.56     15.42   18.00    79.00   2377.00
          Educ    3.38      1.25    1.00     9.00   2377.00
      Ideology   26.25    142.64    0.00   999.00   2377.00
        Issue1    6.93     15.19    0.00    99.00   2377.00
        Issue2    6.17     15.02    0.00    99.00   2377.00
        Issue3    7.96     14.42    0.00    99.00   2377.00
        Issue4    8.80     14.27    0.00    99.00   2377.00
        Issue5    8.12     15.96    0.00    99.00   2377.00

問題5: 一部の変数には欠損値がNAでなく、9や999となっている。問題1の表を参照し、欠損値を表す値(9や99、999)を欠損値(NA)に置換する。置換した結果をtemp_dfに格納し、temp_dfを出力する。

# ここにRコード
# A tibble: 2,377 × 10
   VotedLDP Female   Age  Educ Ideology Issue1 Issue2 Issue3 Issue4 Issue5
      <dbl>  <dbl> <dbl> <dbl>    <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
 1        1      0    38     4       10     10     10     10     10      0
 2        0      0    23     4        7      2     NA      6      6      5
 3        0      0    47     4        5      1      2      5     10     10
 4        1      0    48     2        6      6      6     10     NA      5
 5        0      1    41     4        5     NA      3      8      8      7
 6        0      1    28     4       NA      7      3     10      9     10
 7        0      1    69     2        8      9      6      0      4      4
 8        1      0    37     2        8     10     10      5     10     10
 9        0      1    70     2        5      5      5      5      5      5
10        0      1    67     3        7      9      2      0      8      0
# ℹ 2,367 more rows

問題6: temp_dfの記述統計を出力する。

  • 平均値、標準偏差、最小値、最大値、有効ケース数を出力
  • 有効ケース数(N.Vaild列)の数値が一致するかを確認すること。
# ここにRコード
Descriptive Statistics  
temp_df  
N: 2377  

                  Mean   Std.Dev     Min     Max   N.Valid
-------------- ------- --------- ------- ------- ---------
      VotedLDP    0.30      0.46    0.00    1.00   2377.00
        Female    0.44      0.50    0.00    1.00   2377.00
           Age   53.56     15.42   18.00   79.00   2377.00
          Educ    3.24      0.89    1.00    4.00   2320.00
      Ideology    5.35      2.16    0.00   10.00   2327.00
        Issue1    4.55      3.36    0.00   10.00   2317.00
        Issue2    3.85      3.20    0.00   10.00   2319.00
        Issue3    5.76      2.82    0.00   10.00   2321.00
        Issue4    6.62      2.71    0.00   10.00   2321.00
        Issue5    5.40      2.83    0.00   10.00   2308.00

問題7: 1つでも欠損値(NA)を含む行をデータから除外する。除外後のデータはdfという名のオブジェクトとしてく格納し、dfを出力する。

# ここにRコード
# A tibble: 1,993 × 10
   VotedLDP Female   Age  Educ Ideology Issue1 Issue2 Issue3 Issue4 Issue5
      <dbl>  <dbl> <dbl> <dbl>    <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
 1        1      0    38     4       10     10     10     10     10      0
 2        0      0    47     4        5      1      2      5     10     10
 3        0      1    69     2        8      9      6      0      4      4
 4        1      0    37     2        8     10     10      5     10     10
 5        0      1    70     2        5      5      5      5      5      5
 6        0      1    67     3        7      9      2      0      8      0
 7        0      1    76     2        8      5      5      5      5      5
 8        0      1    34     4        2     10      7      7      1     10
 9        1      0    52     4        5      6      7      5      6      5
10        0      0    70     1        5      0      1      1      2      0
# ℹ 1,983 more rows

問題8: dfの記述統計を出力する。

  • 平均値、標準偏差、最小値、最大値、有効ケース数を出力
  • 有効ケース数(N.Vaild列)の数値が一致するかを確認すること。
# ここにRコード
Descriptive Statistics  
df  
N: 1993  

                  Mean   Std.Dev     Min     Max   N.Valid
-------------- ------- --------- ------- ------- ---------
      VotedLDP    0.30      0.46    0.00    1.00   1993.00
        Female    0.44      0.50    0.00    1.00   1993.00
           Age   53.64     15.44   18.00   79.00   1993.00
          Educ    3.24      0.90    1.00    4.00   1993.00
      Ideology    5.36      2.15    0.00   10.00   1993.00
        Issue1    4.54      3.37    0.00   10.00   1993.00
        Issue2    3.89      3.20    0.00   10.00   1993.00
        Issue3    5.76      2.82    0.00   10.00   1993.00
        Issue4    6.60      2.72    0.00   10.00   1993.00
        Issue5    5.40      2.81    0.00   10.00   1993.00

ロジスティック回帰分析

問題9: 以下のようなモデルを推定し、fit1という名のオブジェクトとしてく格納し、summary()関数で推定結果を出力する。

# ここにRコード

Call:
glm(formula = VotedLDP ~ Ideology + Age + Female + Educ + Issue1 + 
    Issue2 + Issue3 + Issue4 + Issue5, family = binomial("logit"), 
    data = df)

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept) -3.846157   0.461617  -8.332  < 2e-16 ***
Ideology     0.274371   0.030646   8.953  < 2e-16 ***
Age         -0.001211   0.003889  -0.311    0.755    
Female       0.033752   0.120787   0.279    0.780    
Educ         0.106131   0.066613   1.593    0.111    
Issue1       0.205883   0.020927   9.838  < 2e-16 ***
Issue2       0.100909   0.021157   4.769 1.85e-06 ***
Issue3       0.030583   0.026063   1.173    0.241    
Issue4       0.019683   0.022067   0.892    0.372    
Issue5      -0.124282   0.026460  -4.697 2.64e-06 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 2446.8  on 1992  degrees of freedom
Residual deviance: 1907.4  on 1983  degrees of freedom
AIC: 1927.4

Number of Fisher Scoring iterations: 5

問題10: fit1を利用し、自民党への投票確率の予測値を計算する。回答者の政治的イデオロギー(Ideology)が0の場合、1の場合、2の場合、…、10の場合の予測確率を計算し、fit1_predに格納する。最後にfit1_predを出力すること。

# ここにRコード

 Ideology Estimate Pr(>|z|)     S  2.5 % 97.5 %  Age Female Educ Issue1 Issue2
        0   0.0688   <0.001 135.7 0.0482 0.0973 53.6      0 3.24   4.54   3.89
        1   0.0886   <0.001 146.7 0.0656 0.1186 53.6      0 3.24   4.54   3.89
        2   0.1134   <0.001 159.5 0.0886 0.1441 53.6      0 3.24   4.54   3.89
        3   0.1440   <0.001 171.8 0.1180 0.1746 53.6      0 3.24   4.54   3.89
        4   0.1812   <0.001 175.5 0.1545 0.2115 53.6      0 3.24   4.54   3.89
        5   0.2256   <0.001 153.1 0.1975 0.2563 53.6      0 3.24   4.54   3.89
        6   0.2770   <0.001  98.2 0.2454 0.3111 53.6      0 3.24   4.54   3.89
        7   0.3352   <0.001  42.7 0.2960 0.3768 53.6      0 3.24   4.54   3.89
        8   0.3988   <0.001  12.4 0.3486 0.4512 53.6      0 3.24   4.54   3.89
        9   0.4660    0.301   1.7 0.4028 0.5304 53.6      0 3.24   4.54   3.89
       10   0.5345    0.377   1.4 0.4580 0.6094 53.6      0 3.24   4.54   3.89
 Issue3 Issue4 Issue5
   5.76    6.6    5.4
   5.76    6.6    5.4
   5.76    6.6    5.4
   5.76    6.6    5.4
   5.76    6.6    5.4
   5.76    6.6    5.4
   5.76    6.6    5.4
   5.76    6.6    5.4
   5.76    6.6    5.4
   5.76    6.6    5.4
   5.76    6.6    5.4

Type:  invlink(link) 
Columns: rowid, estimate, p.value, s.value, conf.low, conf.high, Age, Female, Educ, Issue1, Issue2, Issue3, Issue4, Issue5, Ideology, VotedLDP 

問題11: fit1_predを利用し、回答者の政治的イデオロギーと自民党に投票する確率の関係を可視化する。以下の図と同じ情報を持つのであれば、図は自由にカスタマイズしても良い。

  • 参考)ラベル内の改行\nを使用する。たとえば、"0\n(革新)"と指定すると、\nの箇所が改行される。
# ここにRコード

問題12: 問題9〜11の結果に基づき、有権者の政治的イデオロギーと自民党への投票有無の関係について述べよ。仮説検定に使用する有意水準は5%とする(\(\alpha = 0.05\))。

ここに解釈を記入する。

交互作用

問題13: 以下の2つの線形回帰分析を行う。推定結果はfit2fit3に格納する。推定結果は以下のように一つの表としてまとめて出力すること。

fit2の中身

fit3の中身
# ここにRコード
(1) (2)
注:カッコ内の数値はp値
(Intercept) 4.923 7.411
(<0.001) (<0.001)
Ideology 0.183 -0.282
(0.066) (<0.001)
Age 0.020 -0.025
(0.054) (<0.001)
Female 0.865 0.603
(<0.001) (0.074)
Educ 0.245 0.248
(<0.001) (<0.001)
Ideology × Age -0.008
(<0.001)
Ideology × Female 0.049
(0.402)
Num.Obs. 1993 1993
R2 0.092 0.083
R2 Adj. 0.090 0.080
AIC 9614.9 9636.2
BIC 9654.1 9675.4
Log.Lik. -4800.440 -4811.101
F 40.467 35.807
RMSE 2.69 2.70

モデル1(fit2

問題14: fit2を使用し、回答者のイデオロギー(0、1、2、…、10)ごとの夫婦別姓に対する賛否態度の予測値を計算する。ただし、イデオロギーが夫婦別姓に対する賛否に与える影響は回答者の年齢(Age)にも依存することを考慮し、回答者の年齢を20歳、40歳、60歳に動かしながら予測値を計算する。その他の説明変数はすべて平均値に固定する。予測値の結果はfit2_predに格納し、出力する。

# ここにRコード

 Ideology Age Estimate Std. Error    z Pr(>|z|)     S 2.5 % 97.5 % Female Educ
        0  20     6.11      0.391 15.6   <0.001 180.3  5.35   6.88      0 3.24
        0  40     6.51      0.225 28.9   <0.001 608.6  6.07   6.95      0 3.24
        0  60     6.91      0.183 37.8   <0.001   Inf  6.55   7.27      0 3.24
        1  20     6.13      0.332 18.5   <0.001 250.4  5.48   6.78      0 3.24
        1  40     6.36      0.192 33.0   <0.001 792.8  5.98   6.74      0 3.24
--- 23 rows omitted. See ?avg_predictions and ?print.marginaleffects --- 
        9  40     5.14      0.161 31.9   <0.001 739.6  4.83   5.46      0 3.24
        9  60     4.03      0.142 28.3   <0.001 584.5  3.75   4.31      0 3.24
       10  20     6.27      0.337 18.6   <0.001 254.0  5.61   6.93      0 3.24
       10  40     4.99      0.192 26.0   <0.001 492.5  4.61   5.37      0 3.24
       10  60     3.71      0.168 22.2   <0.001 359.1  3.38   4.04      0 3.24
Type:  response 
Columns: rowid, estimate, std.error, statistic, p.value, s.value, conf.low, conf.high, Female, Educ, Ideology, Age, Issue3 

問題15: fit2_predAge列を修正する。具体的にAgeの値が20なら"20歳"40なら"40歳"60なら"60歳"にリコーディングする。修正後、fit2_predに上書きし、出力すること。

  • 普通にfit2_predのみ入力した場合、Age列が表示されない可能性がある。この場合、print(fit2_pred, style = "data.frame")で出力すると、サンプルファイルと同じ形式で出力される。
# ここにRコード
   rowid estimate  std.error statistic       p.value  s.value conf.low
1      1 6.112940 0.39139822  15.61821  5.472020e-55 180.2540 5.345813
2      2 6.511222 0.22512518  28.92267 6.193437e-184 608.6040 6.069985
3      3 6.909505 0.18286607  37.78451  0.000000e+00      Inf 6.551094
4      4 6.128316 0.33196679  18.46063  4.283137e-76 250.3679 5.477673
5      5 6.359076 0.19247394  33.03863 2.265419e-239 792.7610 5.981834
6      6 6.589836 0.15668181  42.05872  0.000000e+00      Inf 6.282746
7      7 6.143693 0.27547015  22.30257 3.488644e-110 363.6094 5.603781
8      8 6.206930 0.16165869  38.39528  0.000000e+00      Inf 5.890085
9      9 6.270167 0.13234289  47.37820  0.000000e+00      Inf 6.010780
10    10 6.159069 0.22413876  27.47882 3.144695e-166 549.7871 5.719766
11    11 6.054784 0.13395278  45.20088  0.000000e+00      Inf 5.792241
12    12 5.950499 0.11106913  53.57473  0.000000e+00      Inf 5.732807
13    13 6.174446 0.18238697  33.85355 3.218191e-251 832.1177 5.816974
14    14 5.902638 0.11169443  52.84630  0.000000e+00      Inf 5.683721
15    15 5.630830 0.09494378  59.30699  0.000000e+00      Inf 5.444743
16    16 6.189823 0.15800103  39.17584  0.000000e+00      Inf 5.880146
17    17 5.750492 0.09864293  58.29603  0.000000e+00      Inf 5.557155
18    18 5.311161 0.08688239  61.13047  0.000000e+00      Inf 5.140874
19    19 6.205199 0.15917325  38.98393  0.000000e+00      Inf 5.893225
20    20 5.598346 0.09852759  56.82008  0.000000e+00      Inf 5.405235
21    21 4.991492 0.08910128  56.02043  0.000000e+00      Inf 4.816857
22    22 6.220576 0.18541954  33.54865 9.419615e-247 817.2806 5.857160
23    23 5.446199 0.11138865  48.89367  0.000000e+00      Inf 5.227882
24    24 4.671823 0.10092466  46.29021  0.000000e+00      Inf 4.474014
25    25 6.235952 0.22824803  27.32095 2.391870e-164 543.5381 5.788595
26    26 5.294053 0.13352770  39.64760  0.000000e+00      Inf 5.032344
27    27 4.352154 0.11953575  36.40881 3.088343e-290 961.7323 4.117868
28    28 6.251329 0.28015426  22.31388 2.709297e-110 363.9742 5.702237
29    29 5.141907 0.16116561  31.90449 2.313055e-223 739.5802 4.826028
30    30 4.032485 0.14229568  28.33877 1.151008e-176 584.4564 3.753591
31    31 6.266706 0.33696902  18.59728  3.380590e-77 254.0312 5.606259
32    32 4.989761 0.19194152  25.99626 5.459078e-149 492.5186 4.613563
33    33 3.712816 0.16752191  22.16317 7.787152e-109 359.1291 3.384480
   conf.high Female     Educ Ideology  Age Issue3
1   6.880066      0 3.235324        0 20歳     10
2   6.952460      0 3.235324        0 40歳     10
3   7.267916      0 3.235324        0 60歳     10
4   6.778959      0 3.235324        1 20歳     10
5   6.736318      0 3.235324        1 40歳     10
6   6.896927      0 3.235324        1 60歳     10
7   6.683604      0 3.235324        2 20歳     10
8   6.523775      0 3.235324        2 40歳     10
9   6.529555      0 3.235324        2 60歳     10
10  6.598373      0 3.235324        3 20歳     10
11  6.317327      0 3.235324        3 40歳     10
12  6.168190      0 3.235324        3 60歳     10
13  6.531918      0 3.235324        4 20歳     10
14  6.121555      0 3.235324        4 40歳     10
15  5.816916      0 3.235324        4 60歳     10
16  6.499499      0 3.235324        5 20歳     10
17  5.943828      0 3.235324        5 40歳     10
18  5.481447      0 3.235324        5 60歳     10
19  6.517173      0 3.235324        6 20歳     10
20  5.791456      0 3.235324        6 40歳     10
21  5.166127      0 3.235324        6 60歳     10
22  6.583992      0 3.235324        7 20歳     10
23  5.664517      0 3.235324        7 40歳     10
24  4.869632      0 3.235324        7 60歳     10
25  6.683310      0 3.235324        8 20歳     10
26  5.555763      0 3.235324        8 40歳     10
27  4.586440      0 3.235324        8 60歳     10
28  6.800421      0 3.235324        9 20歳     10
29  5.457786      0 3.235324        9 40歳     10
30  4.311380      0 3.235324        9 60歳     10
31  6.927153      0 3.235324       10 20歳     10
32  5.365960      0 3.235324       10 40歳     10
33  4.041153      0 3.235324       10 60歳     10

問題16: fit2_predを使用し、イデオロギーと夫婦別姓に対する態度間の関係(年齢別)を表す図を作成する。以下の図と同じ情報を持つのであれば、図は自由にカスタマイズしても良い。

# ここにRコード

問題17: fit2を使用し、イデオロギーの限界効果を計算する。限界効果の計算の歳、回答者の年齢を18歳から76歳まで1歳単位で動かす。計算結果はfit2_ameに格納し、出力すること。

  • 以下のように全行を出力したい場合、print(fit2_ame, topn = Inf)と入力する。
# ここにRコード

 Age Estimate Std. Error       z Pr(>|z|)    S  2.5 %   97.5 %
  18  0.03213     0.0691   0.465  0.64180  0.6 -0.103  0.16750
  19  0.02375     0.0675   0.352  0.72477  0.5 -0.108  0.15597
  20  0.01538     0.0658   0.234  0.81530  0.3 -0.114  0.14440
  21  0.00700     0.0642   0.109  0.91319  0.1 -0.119  0.13286
  22 -0.00138     0.0626  -0.022  0.98247  0.0 -0.124  0.12136
  23 -0.00975     0.0610  -0.160  0.87307  0.2 -0.129  0.10989
  24 -0.01813     0.0595  -0.305  0.76046  0.4 -0.135  0.09841
  25 -0.02650     0.0579  -0.458  0.64713  0.6 -0.140  0.08698
  26 -0.03488     0.0563  -0.619  0.53579  0.9 -0.145  0.07553
  27 -0.04326     0.0548  -0.789  0.43000  1.2 -0.151  0.06417
  28 -0.05163     0.0533  -0.969  0.33254  1.6 -0.156  0.05280
  29 -0.06001     0.0518  -1.159  0.24643  2.0 -0.161  0.04146
  30 -0.06838     0.0503  -1.360  0.17399  2.5 -0.167  0.03020
  31 -0.07676     0.0488  -1.572  0.11594  3.1 -0.172  0.01894
  32 -0.08514     0.0474  -1.797  0.07233  3.8 -0.178  0.00772
  33 -0.09351     0.0460  -2.035  0.04188  4.6 -0.184 -0.00343
  34 -0.10189     0.0446  -2.287  0.02221  5.5 -0.189 -0.01456
  35 -0.11027     0.0432  -2.553  0.01069  6.5 -0.195 -0.02561
  36 -0.11864     0.0419  -2.834  0.00459  7.8 -0.201 -0.03659
  37 -0.12702     0.0405  -3.133  0.00173  9.2 -0.206 -0.04755
  38 -0.13539     0.0393  -3.447  < 0.001 10.8 -0.212 -0.05840
  39 -0.14377     0.0381  -3.777  < 0.001 12.6 -0.218 -0.06917
  40 -0.15215     0.0369  -4.125  < 0.001 14.7 -0.224 -0.07986
  41 -0.16052     0.0358  -4.489  < 0.001 17.1 -0.231 -0.09044
  42 -0.16890     0.0347  -4.871  < 0.001 19.8 -0.237 -0.10094
  43 -0.17727     0.0337  -5.267  < 0.001 22.8 -0.243 -0.11131
  44 -0.18565     0.0327  -5.674  < 0.001 26.1 -0.250 -0.12152
  45 -0.19403     0.0318  -6.094  < 0.001 29.8 -0.256 -0.13162
  46 -0.20240     0.0310  -6.520  < 0.001 33.7 -0.263 -0.14156
  47 -0.21078     0.0303  -6.949  < 0.001 38.0 -0.270 -0.15133
  48 -0.21916     0.0297  -7.377  < 0.001 42.5 -0.277 -0.16093
  49 -0.22753     0.0292  -7.800  < 0.001 47.2 -0.285 -0.17035
  50 -0.23591     0.0287  -8.206  < 0.001 52.0 -0.292 -0.17956
  51 -0.24428     0.0284  -8.594  < 0.001 56.7 -0.300 -0.18857
  52 -0.25266     0.0282  -8.955  < 0.001 61.4 -0.308 -0.19736
  53 -0.26104     0.0281  -9.286  < 0.001 65.8 -0.316 -0.20594
  54 -0.26941     0.0281  -9.580  < 0.001 69.8 -0.325 -0.21429
  55 -0.27779     0.0282  -9.834  < 0.001 73.4 -0.333 -0.22242
  56 -0.28616     0.0285 -10.047  < 0.001 76.5 -0.342 -0.23034
  57 -0.29454     0.0288 -10.218  < 0.001 79.0 -0.351 -0.23804
  58 -0.30292     0.0293 -10.348  < 0.001 81.0 -0.360 -0.24554
  59 -0.31129     0.0298 -10.438  < 0.001 82.3 -0.370 -0.25284
  60 -0.31967     0.0305 -10.490  < 0.001 83.1 -0.379 -0.25994
  61 -0.32805     0.0312 -10.513  < 0.001 83.5 -0.389 -0.26689
  62 -0.33642     0.0320 -10.508  < 0.001 83.4 -0.399 -0.27367
  63 -0.34480     0.0329 -10.479  < 0.001 82.9 -0.409 -0.28031
  64 -0.35317     0.0339 -10.430  < 0.001 82.2 -0.420 -0.28681
  65 -0.36155     0.0349 -10.361  < 0.001 81.1 -0.430 -0.29315
  66 -0.36993     0.0360 -10.282  < 0.001 80.0 -0.440 -0.29941
  67 -0.37830     0.0371 -10.191  < 0.001 78.6 -0.451 -0.30555
  68 -0.38668     0.0383 -10.097  < 0.001 77.2 -0.462 -0.31162
  69 -0.39505     0.0395  -9.991  < 0.001 75.7 -0.473 -0.31755
  70 -0.40343     0.0408  -9.885  < 0.001 74.1 -0.483 -0.32344
  71 -0.41181     0.0421  -9.776  < 0.001 72.6 -0.494 -0.32924
  72 -0.42018     0.0435  -9.667  < 0.001 71.0 -0.505 -0.33499
  73 -0.42856     0.0448  -9.559  < 0.001 69.5 -0.516 -0.34069
  74 -0.43693     0.0462  -9.449  < 0.001 68.0 -0.528 -0.34630
  75 -0.44531     0.0477  -9.343  < 0.001 66.5 -0.539 -0.35189
  76 -0.45369     0.0492  -9.226  < 0.001 64.9 -0.550 -0.35730

Term: Ideology
Type:  response 
Columns: rowid, term, estimate, std.error, statistic, p.value, s.value, conf.low, conf.high, Age, predicted_lo, predicted_hi, predicted, Ideology, Female, Educ, Issue3 

問題18: fit2_ameを使用し、イデオロギーが夫婦別姓に対する賛否態度に与える影響が年齢によってどう変化するかを可視化する。以下の図と同じ情報を持つのであれば、図は自由にカスタマイズしても良い。

# ここにRコード

問題19: fit2の推定結果(問題13〜18)に基づき、有権者の政治的イデオロギーと夫婦別姓に対する賛否態度の関係について述べよ。仮説検定に使用する有意水準は5%とする(\(\alpha = 0.05\))。

ここに解釈を記入する。

モデル2(fit3

問題20: fit3を使用し、回答者のイデオロギー(0、1、2、…、10)ごとの夫婦別姓に対する賛否態度の予測値を計算する。ただし、イデオロギーが夫婦別姓に対する賛否に与える影響は回答者の性別(Female)にも依存することを考慮し、男女ごとに予測値を計算する。その他の説明変数はすべて平均値に固定する。予測値の結果はfit3_predに格納し、出力する。

# ここにRコード

 Ideology Female Estimate Std. Error    z Pr(>|z|)      S 2.5 % 97.5 %  Age
        0      0     6.88     0.2074 33.2   <0.001  800.0  6.48   7.29 53.6
        0      1     7.49     0.2665 28.1   <0.001  574.8  6.97   8.01 53.6
        1      0     6.60     0.1756 37.6   <0.001    Inf  6.26   6.95 53.6
        1      1     7.25     0.2230 32.5   <0.001  768.8  6.82   7.69 53.6
        2      0     6.32     0.1453 43.5   <0.001    Inf  6.04   6.61 53.6
        2      1     7.02     0.1813 38.7   <0.001    Inf  6.67   7.38 53.6
        3      0     6.04     0.1179 51.2   <0.001    Inf  5.81   6.27 53.6
        3      1     6.79     0.1429 47.5   <0.001    Inf  6.51   7.07 53.6
        4      0     5.76     0.0958 60.1   <0.001    Inf  5.57   5.94 53.6
        4      1     6.56     0.1112 59.0   <0.001    Inf  6.34   6.77 53.6
        5      0     5.47     0.0834 65.6   <0.001    Inf  5.31   5.64 53.6
        5      1     6.32     0.0934 67.7   <0.001    Inf  6.14   6.51 53.6
        6      0     5.19     0.0850 61.1   <0.001    Inf  5.02   5.36 53.6
        6      1     6.09     0.0975 62.5   <0.001    Inf  5.90   6.28 53.6
        7      0     4.91     0.1000 49.1   <0.001    Inf  4.71   5.11 53.6
        7      1     5.86     0.1211 48.3   <0.001    Inf  5.62   6.09 53.6
        8      0     4.63     0.1235 37.5   <0.001 1018.2  4.39   4.87 53.6
        8      1     5.62     0.1558 36.1   <0.001  945.8  5.32   5.93 53.6
        9      0     4.34     0.1517 28.6   <0.001  597.1  4.05   4.64 53.6
        9      1     5.39     0.1956 27.6   <0.001  553.0  5.01   5.77 53.6
       10      0     4.06     0.1824 22.3   <0.001  362.8  3.71   4.42 53.6
       10      1     5.16     0.2380 21.7   <0.001  343.4  4.69   5.62 53.6
 Educ
 3.24
 3.24
 3.24
 3.24
 3.24
 3.24
 3.24
 3.24
 3.24
 3.24
 3.24
 3.24
 3.24
 3.24
 3.24
 3.24
 3.24
 3.24
 3.24
 3.24
 3.24
 3.24

Type:  response 
Columns: rowid, estimate, std.error, statistic, p.value, s.value, conf.low, conf.high, Age, Educ, Ideology, Female, Issue3 

問題21: fit3_predFemale列を修正する。具体的にFemaleの値が0なら"男性"それ以外は"女性"にリコーディングする。修正後、fit3_predに上書きし、出力すること。

  • 普通にfit3_predのみ入力した場合、Female列が表示されない可能性がある。この場合、print(fit3_pred, style = "data.frame")で出力すると、サンプルファイルと同じ形式で出力される。
# ここにRコード
   rowid estimate  std.error statistic       p.value   s.value conf.low
1      1 6.884692 0.20743894  33.18901 1.551200e-241  799.9513 6.478120
2      2 7.487854 0.26645404  28.10186 9.296632e-174  574.7988 6.965614
3      3 6.602493 0.17557438  37.60511  0.000000e+00       Inf 6.258373
4      4 7.254805 0.22299876  32.53294 3.649784e-232  768.8195 6.817736
5      5 6.320293 0.14531578  43.49351  0.000000e+00       Inf 6.035480
6      6 7.021756 0.18129223  38.73170  0.000000e+00       Inf 6.666430
7      7 6.038094 0.11790618  51.21100  0.000000e+00       Inf 5.807002
8      8 6.788707 0.14287426  47.51526  0.000000e+00       Inf 6.508679
9      9 5.755894 0.09582238  60.06837  0.000000e+00       Inf 5.568086
10    10 6.555658 0.11120694  58.95008  0.000000e+00       Inf 6.337697
11    11 5.473695 0.08340780  65.62569  0.000000e+00       Inf 5.310218
12    12 6.322610 0.09342732  67.67409  0.000000e+00       Inf 6.139495
13    13 5.191495 0.08500981  61.06937  0.000000e+00       Inf 5.024879
14    14 6.089561 0.09745816  62.48384  0.000000e+00       Inf 5.898546
15    15 4.909296 0.09995672  49.11421  0.000000e+00       Inf 4.713384
16    16 5.856512 0.12114153  48.34438  0.000000e+00       Inf 5.619079
17    17 4.627096 0.12349452  37.46803 3.055864e-307 1018.2203 4.385051
18    18 5.623463 0.15575685  36.10411 1.954777e-285  945.7825 5.318185
19    19 4.344897 0.15167504  28.64609 1.793397e-180  597.1044 4.047619
20    20 5.390414 0.19558342  27.56069 3.294924e-167  553.0417 5.007078
21    21 4.062697 0.18235848  22.27863 5.955140e-110  362.8380 3.705281
22    22 5.157365 0.23801954  21.66782 4.128208e-104  343.4350 4.690855
   conf.high      Age     Educ Ideology Female Issue3
1   7.291265 53.64074 3.235324        0   男性     10
2   8.010094 53.64074 3.235324        0   女性     10
3   6.946612 53.64074 3.235324        1   男性     10
4   7.691875 53.64074 3.235324        1   女性     10
5   6.605107 53.64074 3.235324        2   男性     10
6   7.377083 53.64074 3.235324        2   女性     10
7   6.269186 53.64074 3.235324        3   男性     10
8   7.068736 53.64074 3.235324        3   女性     10
9   5.943703 53.64074 3.235324        4   男性     10
10  6.773620 53.64074 3.235324        4   女性     10
11  5.637171 53.64074 3.235324        5   男性     10
12  6.505724 53.64074 3.235324        5   女性     10
13  5.358111 53.64074 3.235324        6   男性     10
14  6.280575 53.64074 3.235324        6   女性     10
15  5.105207 53.64074 3.235324        7   男性     10
16  6.093945 53.64074 3.235324        7   女性     10
17  4.869141 53.64074 3.235324        8   男性     10
18  5.928741 53.64074 3.235324        8   女性     10
19  4.642174 53.64074 3.235324        9   男性     10
20  5.773751 53.64074 3.235324        9   女性     10
21  4.420113 53.64074 3.235324       10   男性     10
22  5.623875 53.64074 3.235324       10   女性     10

問題22: fit3_predを使用し、イデオロギーと夫婦別姓に対する態度間の関係(性別ごと)を表す図を作成する。以下の図と同じ情報を持つのであれば、図は自由にカスタマイズしても良い。

# ここにRコード

問題23: fit3を使用し、イデオロギーの限界効果を男女ごとに計算する。計算結果はfit3_ameに格納し、出力すること。

# ここにRコード

 Female Estimate Std. Error     z Pr(>|z|)    S  2.5 % 97.5 %
      0   -0.282     0.0353 -7.99   <0.001 49.4 -0.351 -0.213
      1   -0.233     0.0470 -4.96   <0.001 20.5 -0.325 -0.141

Term: Ideology
Type:  response 
Columns: rowid, term, estimate, std.error, statistic, p.value, s.value, conf.low, conf.high, Female, predicted_lo, predicted_hi, predicted, Ideology, Age, Educ, Issue3 

問題24: fit3_ameを使用し、イデオロギーが夫婦別姓に対する賛否態度に与える影響が性別によってどう変化するかを可視化する。以下の図と同じ情報を持つのであれば、図は自由にカスタマイズしても良い。

# ここにRコード

問題25: fit3の推定結果(問題13、19〜24)に基づき、有権者の政治的イデオロギーと夫婦別姓に対する賛否態度の関係について述べよ。仮説検定に使用する有意水準は5%とする(\(\alpha = 0.05\))。

ここに解釈を記入する。