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

作者

情21-0170 関大太郎

公開

2025年12月4日

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

問題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   Median   Std.Dev     Min      Max   N.Valid
-------------- ------- -------- --------- ------- -------- ---------
      VotedLDP    0.30     0.00      0.46    0.00     1.00   2377.00
        Female    0.44     0.00      0.50    0.00     1.00   2377.00
           Age   53.56    55.00     15.42   18.00    79.00   2377.00
          Educ    3.38     4.00      1.25    1.00     9.00   2377.00
      Ideology   26.25     5.00    142.64    0.00   999.00   2377.00
        Issue1    6.93     5.00     15.19    0.00    99.00   2377.00
        Issue2    6.17     4.00     15.02    0.00    99.00   2377.00
        Issue3    7.96     5.00     14.42    0.00    99.00   2377.00
        Issue4    8.80     7.00     14.27    0.00    99.00   2377.00
        Issue5    8.12     5.00     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   Median   Std.Dev     Min     Max   N.Valid
-------------- ------- -------- --------- ------- ------- ---------
      VotedLDP    0.30     0.00      0.46    0.00    1.00   2377.00
        Female    0.44     0.00      0.50    0.00    1.00   2377.00
           Age   53.56    55.00     15.42   18.00   79.00   2377.00
          Educ    3.24     4.00      0.89    1.00    4.00   2320.00
      Ideology    5.35     5.00      2.16    0.00   10.00   2327.00
        Issue1    4.55     5.00      3.36    0.00   10.00   2317.00
        Issue2    3.85     4.00      3.20    0.00   10.00   2319.00
        Issue3    5.76     5.00      2.82    0.00   10.00   2321.00
        Issue4    6.62     7.00      2.71    0.00   10.00   2321.00
        Issue5    5.40     5.00      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   Median   Std.Dev     Min     Max   N.Valid
-------------- ------- -------- --------- ------- ------- ---------
      VotedLDP    0.30     0.00      0.46    0.00    1.00   1993.00
        Female    0.44     0.00      0.50    0.00    1.00   1993.00
           Age   53.64    55.00     15.44   18.00   79.00   1993.00
          Educ    3.24     4.00      0.90    1.00    4.00   1993.00
      Ideology    5.36     5.00      2.15    0.00   10.00   1993.00
        Issue1    4.54     5.00      3.37    0.00   10.00   1993.00
        Issue2    3.89     4.00      3.20    0.00   10.00   1993.00
        Issue3    5.76     5.00      2.82    0.00   10.00   1993.00
        Issue4    6.60     7.00      2.72    0.00   10.00   1993.00
        Issue5    5.40     5.00      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 %
        0   0.0787   <0.001 119.2 0.0551  0.111
        1   0.1010   <0.001 126.7 0.0749  0.135
        2   0.1288   <0.001 134.6 0.1007  0.163
        3   0.1629   <0.001 140.7 0.1335  0.197
        4   0.2038   <0.001 138.2 0.1738  0.237
        5   0.2519   <0.001 114.8 0.2209  0.286
        6   0.3070   <0.001  69.0 0.2726  0.344
        7   0.3683   <0.001  26.8 0.3267  0.412
        8   0.4341    0.016   6.0 0.3820  0.488
        9   0.5023    0.945   0.1 0.4380  0.566
       10   0.5704    0.070   3.8 0.4942  0.643

Type: invlink(link)

問題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 %
        0  20     6.06      0.393 15.4   <0.001 175.3  5.28   6.83
        0  40     6.45      0.228 28.4   <0.001 585.6  6.01   6.90
        0  60     6.85      0.185 37.1   <0.001 998.3  6.49   7.21
        1  20     6.07      0.334 18.2   <0.001 242.6  5.42   6.73
        1  40     6.30      0.195 32.3   <0.001 757.2  5.92   6.68
--- 23 rows omitted. See ?print.marginaleffects ---
        9  40     5.08      0.164 31.0   <0.001 700.5  4.76   5.41
        9  60     3.97      0.143 27.7   <0.001 558.7  3.69   4.26
       10  20     6.21      0.339 18.3   <0.001 246.6  5.54   6.87
       10  40     4.93      0.194 25.4   <0.001 470.9  4.55   5.31
       10  60     3.66      0.168 21.7   <0.001 344.5  3.33   3.99
Type: response

問題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.055386 0.39328553  15.39692  1.716504e-53  175.2827 5.284561
2      2 6.453669 0.22750473  28.36719 5.138092e-177  585.6200 6.007768
3      3 6.851952 0.18469741  37.09826 2.997324e-301  998.3167 6.489952
4      4 6.070763 0.33416968  18.16671  9.471412e-74  242.5791 5.415802
5      5 6.301523 0.19518708  32.28453 1.153326e-228  757.1938 5.918963
6      6 6.532283 0.15869889  41.16149  0.000000e+00       Inf 6.221239
7      7 6.086139 0.27809661  21.88498 3.611517e-106  350.2718 5.541080
8      8 6.149377 0.16480314  37.31347 9.926050e-305 1009.8768 5.826369
9      9 6.212614 0.13458753  46.16040  0.000000e+00       Inf 5.948827
10    10 6.101516 0.22732915  26.84001 1.103378e-158  524.7227 5.655959
11    11 5.997231 0.13763949  43.57202  0.000000e+00       Inf 5.727462
12    12 5.892945 0.11357169  51.88745  0.000000e+00       Inf 5.670349
13    13 6.116893 0.18625750  32.84105 1.528459e-236  783.3630 5.751835
14    14 5.845084 0.11598134  50.39677  0.000000e+00       Inf 5.617765
15    15 5.573276 0.09767043  57.06207  0.000000e+00       Inf 5.381846
16    16 6.132269 0.16241196  37.75750 5.666096e-312 1033.9392 5.813948
17    17 5.692938 0.10334984  55.08415  0.000000e+00       Inf 5.490376
18    18 5.253607 0.08964796  58.60265  0.000000e+00       Inf 5.077901
19    19 6.147646 0.16351120  37.59771 2.343414e-309 1025.2472 5.827170
20    20 5.540792 0.10311737  53.73287  0.000000e+00       Inf 5.338686
21    21 4.933939 0.09159836  53.86492  0.000000e+00       Inf 4.754409
22    22 6.163022 0.18912078  32.58776 6.114123e-233  771.3971 5.792353
23    23 5.388646 0.11535889  46.71201  0.000000e+00       Inf 5.162547
24    24 4.614270 0.10295640  44.81770  0.000000e+00       Inf 4.412479
25    25 6.178399 0.23123560  26.71906 2.826617e-157  520.0436 5.725186
26    26 5.236500 0.13676490  38.28833 9.584874e-321 1063.0782 4.968446
27    27 4.294601 0.12110345  35.46225 1.878118e-275  912.6209 4.057242
28    28 6.193776 0.28256965  21.91947 1.694342e-106  351.3637 5.639949
29    29 5.084354 0.16378059  31.04369 1.388057e-211  700.4538 4.763350
30    30 3.974932 0.14348633  27.70251 6.512017e-169  558.7027 3.693704
31    31 6.209152 0.33895989  18.31825  5.918441e-75  246.5794 5.544803
32    32 4.932208 0.19407733  25.41362 1.783208e-142  470.8793 4.551823
33    33 3.655263 0.16842466  21.70266 1.936349e-104  344.5272 3.325157
   conf.high Educ Female Issue3 Ideology  Age  df
1   6.826212    3      0      6        0 20歳 Inf
2   6.899570    3      0      6        0 40歳 Inf
3   7.213952    3      0      6        0 60歳 Inf
4   6.725723    3      0      6        1 20歳 Inf
5   6.684083    3      0      6        1 40歳 Inf
6   6.843327    3      0      6        1 60歳 Inf
7   6.631199    3      0      6        2 20歳 Inf
8   6.472385    3      0      6        2 40歳 Inf
9   6.476401    3      0      6        2 60歳 Inf
10  6.547073    3      0      6        3 20歳 Inf
11  6.266999    3      0      6        3 40歳 Inf
12  6.115542    3      0      6        3 60歳 Inf
13  6.481951    3      0      6        4 20歳 Inf
14  6.072404    3      0      6        4 40歳 Inf
15  5.764707    3      0      6        4 60歳 Inf
16  6.450591    3      0      6        5 20歳 Inf
17  5.895500    3      0      6        5 40歳 Inf
18  5.429314    3      0      6        5 60歳 Inf
19  6.468122    3      0      6        6 20歳 Inf
20  5.742899    3      0      6        6 40歳 Inf
21  5.113468    3      0      6        6 60歳 Inf
22  6.533692    3      0      6        7 20歳 Inf
23  5.614745    3      0      6        7 40歳 Inf
24  4.816061    3      0      6        7 60歳 Inf
25  6.631613    3      0      6        8 20歳 Inf
26  5.504554    3      0      6        8 40歳 Inf
27  4.531959    3      0      6        8 60歳 Inf
28  6.747602    3      0      6        9 20歳 Inf
29  5.405358    3      0      6        9 40歳 Inf
30  4.256160    3      0      6        9 60歳 Inf
31  6.873501    3      0      6       10 20歳 Inf
32  5.312592    3      0      6       10 40歳 Inf
33  3.985369    3      0      6       10 60歳 Inf

問題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.64186  0.6 -0.103  0.16752
  19  0.02375     0.0674   0.352  0.72472  0.5 -0.108  0.15595
  20  0.01538     0.0658   0.234  0.81534  0.3 -0.114  0.14442
  21  0.00700     0.0642   0.109  0.91321  0.1 -0.119  0.13288
  22 -0.00138     0.0626  -0.022  0.98248  0.0 -0.124  0.12139
  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.0564  -0.619  0.53610  0.9 -0.145  0.07561
  27 -0.04326     0.0548  -0.789  0.43000  1.2 -0.151  0.06417
  28 -0.05163     0.0533  -0.968  0.33282  1.6 -0.156  0.05286
  29 -0.06001     0.0518  -1.158  0.24671  2.0 -0.162  0.04153
  30 -0.06838     0.0503  -1.359  0.17425  2.5 -0.167  0.03026
  31 -0.07676     0.0489  -1.571  0.11617  3.1 -0.173  0.01900
  32 -0.08514     0.0474  -1.796  0.07252  3.8 -0.178  0.00778
  33 -0.09351     0.0460  -2.035  0.04188  4.6 -0.184 -0.00343
  34 -0.10189     0.0446  -2.285  0.02230  5.5 -0.189 -0.01450
  35 -0.11027     0.0432  -2.552  0.01070  6.5 -0.195 -0.02559
  36 -0.11864     0.0419  -2.833  0.00461  7.8 -0.201 -0.03657
  37 -0.12702     0.0406  -3.132  0.00174  9.2 -0.207 -0.04753
  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.124  < 0.001 14.7 -0.224 -0.07984
  41 -0.16052     0.0358  -4.489  < 0.001 17.1 -0.231 -0.09044
  42 -0.16890     0.0347  -4.870  < 0.001 19.8 -0.237 -0.10092
  43 -0.17727     0.0337  -5.262  < 0.001 22.7 -0.243 -0.11125
  44 -0.18565     0.0327  -5.674  < 0.001 26.1 -0.250 -0.12152
  45 -0.19403     0.0318  -6.095  < 0.001 29.8 -0.256 -0.13163
  46 -0.20240     0.0311  -6.515  < 0.001 33.7 -0.263 -0.14151
  47 -0.21078     0.0303  -6.945  < 0.001 37.9 -0.270 -0.15130
  48 -0.21916     0.0297  -7.378  < 0.001 42.5 -0.277 -0.16094
  49 -0.22753     0.0292  -7.794  < 0.001 47.1 -0.285 -0.17031
  50 -0.23591     0.0288  -8.195  < 0.001 51.8 -0.292 -0.17949
  51 -0.24428     0.0284  -8.588  < 0.001 56.7 -0.300 -0.18853
  52 -0.25266     0.0282  -8.956  < 0.001 61.4 -0.308 -0.19737
  53 -0.26104     0.0281  -9.283  < 0.001 65.7 -0.316 -0.20592
  54 -0.26941     0.0281  -9.576  < 0.001 69.8 -0.325 -0.21427
  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.216  < 0.001 79.0 -0.351 -0.23803
  58 -0.30292     0.0293 -10.347  < 0.001 80.9 -0.360 -0.24554
  59 -0.31129     0.0298 -10.440  < 0.001 82.3 -0.370 -0.25285
  60 -0.31967     0.0305 -10.492  < 0.001 83.1 -0.379 -0.25995
  61 -0.32805     0.0312 -10.517  < 0.001 83.5 -0.389 -0.26691
  62 -0.33642     0.0320 -10.508  < 0.001 83.4 -0.399 -0.27367
  63 -0.34480     0.0329 -10.477  < 0.001 82.9 -0.409 -0.28030
  64 -0.35317     0.0339 -10.431  < 0.001 82.2 -0.420 -0.28681
  65 -0.36155     0.0349 -10.364  < 0.001 81.2 -0.430 -0.29317
  66 -0.36993     0.0360 -10.285  < 0.001 80.0 -0.440 -0.29943
  67 -0.37830     0.0371 -10.195  < 0.001 78.7 -0.451 -0.30557
  68 -0.38668     0.0383 -10.099  < 0.001 77.2 -0.462 -0.31163
  69 -0.39505     0.0395  -9.989  < 0.001 75.6 -0.473 -0.31754
  70 -0.40343     0.0408  -9.878  < 0.001 74.0 -0.483 -0.32338
  71 -0.41181     0.0421  -9.781  < 0.001 72.6 -0.494 -0.32929
  72 -0.42018     0.0435  -9.667  < 0.001 71.0 -0.505 -0.33499
  73 -0.42856     0.0449  -9.555  < 0.001 69.5 -0.516 -0.34065
  74 -0.43693     0.0462  -9.450  < 0.001 68.0 -0.528 -0.34631
  75 -0.44531     0.0477  -9.344  < 0.001 66.5 -0.539 -0.35190
  76 -0.45369     0.0491  -9.238  < 0.001 65.1 -0.550 -0.35743

Term: Ideology
Type: response
Comparison: dY/dX

問題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 %
        0      0     6.82     0.2093 32.6   <0.001  770.8  6.41   7.23
        0      1     7.42     0.2664 27.9   <0.001  564.7  6.90   7.94
        1      0     6.54     0.1777 36.8   <0.001  981.4  6.19   6.88
        1      1     7.19     0.2229 32.2   <0.001  755.4  6.75   7.62
        2      0     6.25     0.1478 42.3   <0.001    Inf  5.96   6.54
        2      1     6.95     0.1811 38.4   <0.001 1069.5  6.60   7.31
        3      0     5.97     0.1208 49.4   <0.001    Inf  5.73   6.21
        3      1     6.72     0.1425 47.2   <0.001    Inf  6.44   7.00
        4      0     5.69     0.0992 57.3   <0.001    Inf  5.49   5.88
        4      1     6.49     0.1106 58.7   <0.001    Inf  6.27   6.71
        5      0     5.41     0.0872 62.0   <0.001    Inf  5.24   5.58
        5      1     6.26     0.0925 67.6   <0.001    Inf  6.07   6.44
        6      0     5.12     0.0886 57.9   <0.001    Inf  4.95   5.30
        6      1     6.02     0.0964 62.5   <0.001    Inf  5.83   6.21
        7      0     4.84     0.1029 47.1   <0.001    Inf  4.64   5.04
        7      1     5.79     0.1201 48.2   <0.001    Inf  5.55   6.02
        8      0     4.56     0.1258 36.3   <0.001  953.8  4.31   4.81
        8      1     5.56     0.1549 35.9   <0.001  933.9  5.25   5.86
        9      0     4.28     0.1534 27.9   <0.001  565.7  3.98   4.58
        9      1     5.32     0.1948 27.3   <0.001  543.8  4.94   5.70
       10      0     4.00     0.1838 21.7   <0.001  345.8  3.64   4.36
       10      1     5.09     0.2373 21.4   <0.001  336.6  4.62   5.56

Type: response

問題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.817393 0.20927981  32.57549 9.121446e-233  770.8200 6.407212
2      2 7.420555 0.26643200  27.85159 1.030420e-170  564.6845 6.898358
3      3 6.535194 0.17767446  36.78184 3.602956e-296  981.4415 6.186958
4      4 7.187506 0.22289846  32.24565 4.048181e-228  755.3823 6.750633
5      5 6.252994 0.14776081  42.31835  0.000000e+00       Inf 5.963388
6      6 6.954457 0.18107785  38.40590 1.086944e-322 1069.5406 6.599551
7      7 5.970794 0.12080222  49.42620  0.000000e+00       Inf 5.734026
8      8 6.721408 0.14248650  47.17224  0.000000e+00       Inf 6.442140
9      9 5.688595 0.09923693  57.32337  0.000000e+00       Inf 5.494094
10    10 6.488359 0.11055938  58.68665  0.000000e+00       Inf 6.271667
11    11 5.406395 0.08716439  62.02528  0.000000e+00       Inf 5.235556
12    12 6.255310 0.09247749  67.64143  0.000000e+00       Inf 6.074058
13    13 5.124196 0.08855601  57.86390  0.000000e+00       Inf 4.950629
14    14 6.022261 0.09637713  62.48641  0.000000e+00       Inf 5.833366
15    15 4.841996 0.10286678  47.07056  0.000000e+00       Inf 4.640381
16    16 5.789213 0.12013649  48.18863  0.000000e+00       Inf 5.553749
17    17 4.559797 0.12576110  36.25761 7.539460e-288  953.8008 4.313310
18    18 5.556164 0.15487009  35.87629 7.159463e-282  933.9439 5.252624
19    19 4.277597 0.15344381  27.87729 5.030867e-171  565.7189 3.976853
20    20 5.323115 0.19479340  27.32698 2.028119e-164  543.7761 4.941327
21    21 3.995398 0.18376352  21.74206 8.212628e-105  345.7646 3.635228
22    22 5.090066 0.23730132  21.44980 4.586165e-102  336.6394 4.624964
   conf.high Age Educ Issue3 Ideology Female  df
1   7.227574  54    3      6        0   男性 Inf
2   7.942752  54    3      6        0   女性 Inf
3   6.883429  54    3      6        1   男性 Inf
4   7.624379  54    3      6        1   女性 Inf
5   6.542600  54    3      6        2   男性 Inf
6   7.309363  54    3      6        2   女性 Inf
7   6.207562  54    3      6        3   男性 Inf
8   7.000676  54    3      6        3   女性 Inf
9   5.883096  54    3      6        4   男性 Inf
10  6.705052  54    3      6        4   女性 Inf
11  5.577234  54    3      6        5   男性 Inf
12  6.436563  54    3      6        5   女性 Inf
13  5.297762  54    3      6        6   男性 Inf
14  6.211157  54    3      6        6   女性 Inf
15  5.043612  54    3      6        7   男性 Inf
16  6.024676  54    3      6        7   女性 Inf
17  4.806284  54    3      6        8   男性 Inf
18  5.859703  54    3      6        8   女性 Inf
19  4.578342  54    3      6        9   男性 Inf
20  5.704903  54    3      6        9   女性 Inf
21  4.355568  54    3      6       10   男性 Inf
22  5.555168  54    3      6       10   女性 Inf

問題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.0469 -4.97   <0.001 20.5 -0.325 -0.141

Term: Ideology
Type: response
Comparison: dY/dX

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

# ここにRコード

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

ここに解釈を記入する。