【第3章測定】練習問題3.9.2「 中国とメキシコにおける政治的感覚有効性」

1.データセット・元論文

(1)データセット
  ・第3章の練習問題を解く際に使うデータセットは、以下のリンク先からダウンロードできる。

(2)元論文
  ・この練習問題の元論文を参考のためリンクを貼っておく。

2.練習問題3.9.2「 中国とメキシコにおける政治的感覚有効性」

(1)国別の自己評価の回答
  ①ヒストグラムを見ると低い自己評価の「1」,「2」の割合はメキシコ
   の方が高い。高い自己評価の"3","4","5"の割合は中国の方が高い。
  ②自己評価の平均を比較するとメキシコは1.825、中国は2.622であり、
   平均も中国の方が0.797大きくなっている。
  ③自己評価の数値のみを尺度にするとメキシコよりも中国の方が政治的
   有効性感覚が高い。但し、この結果は両国の歴史的事実や政治的背景
   と整合的で無い。

> vignettes <- read.csv("vignettes.csv")

> dim(vignettes)
[1] 781   6

> summary(vignettes)
      self           alison           jane          moses           china             age       
 Min.   :1.000   Min.   :1.000   Min.   :1.00   Min.   :1.000   Min.   :0.0000   Min.   :18.00  
 1st Qu.:1.000   1st Qu.:2.000   1st Qu.:1.00   1st Qu.:1.000   1st Qu.:0.0000   1st Qu.:29.00  
 Median :2.000   Median :3.000   Median :2.00   Median :2.000   Median :0.0000   Median :39.00  
 Mean   :2.114   Mean   :3.201   Mean   :2.57   Mean   :2.399   Mean   :0.3624   Mean   :41.12  
 3rd Qu.:3.000   3rd Qu.:4.000   3rd Qu.:4.00   3rd Qu.:3.000   3rd Qu.:1.0000   3rd Qu.:50.00  
 Max.   :5.000   Max.   :5.000   Max.   :5.00   Max.   :5.000   Max.   :1.0000   Max.   :88.00 

> par(mfrow = c(1,2))
> hist(vignettes$self[vignettes$china == 1],freq = FALSE,
+      breaks = seq(from = 0.5,to = 5.5 , by = 1.0),ylim = c(0,0.6),xlab = "self",main = "China Self")
> hist(vignettes$self[vignettes$china == 0],freq = FALSE,
+      breaks = seq(from = 0.5,to = 5.5 , by = 1.0),ylim = c(0,0.6),xlab = "self",main = "Mexico Self")

> tapply(vignettes$self,vignettes$china,summary)
$`0`
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  1.000   1.000   1.000   1.825   2.000   5.000 
$`1`
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  1.000   1.500   3.000   2.622   4.000   5.000 

画像1

(2)国別の年齢のヒストグラム・Q-Qプロット
 <中国の年齢分布>
  
①中国のヒストグラムは中央値を軸とした左右対称に近い形状である。
  ②相対的に高齢者が多く、政治において高い地位にある可能性がある。
   そのため、政治的有効性感覚が高い傾向になる可能性がある。
 <メキシコの年齢分布>
  ①メキシコのヒストグラムは中央値より左の若年層の割合が高い。
  ②相対的に若年層が多く、政治的立場の低い層が多くなり、政治的有効
   性感覚が低くなる傾向になる可能性がある。

> par(mfrow = c(1,3))
> hist(vignettes$age[vignettes$china == 1],freq = FALSE,
+      breaks = seq(from = 15,to = 95 , by = 10),ylim = c(0,0.035),xlab = "age",main = "China Age")
> abline(v = median(vignettes$age[vignettes$china == 1]),col ="red",lwd = 4,lty = 2)

> hist(vignettes$age[vignettes$china == 0],freq = FALSE,
+      breaks = seq(from = 15,to = 95 , by = 10),ylim = c(0,0.035),xlab = "age",main = "Mexico Age")
> abline(v = median(vignettes$age[vignettes$china == 1]),col ="red",lwd = 4,lty = 2)

> qqplot(vignettes$age[vignettes$china == 1] ,vignettes$age[vignettes$china == 0],xlim = c(15,90),ylim = c(15,90),xlab = "China age",ylab = "Mexico age",main = "Comparison Chine and Mexico")
> abline(0,1,col ="blue",lwd = 4,lty = 3)

画像2

(3)ヴェニエット形式【モーゼ】よりも自己評価が低い割合
  
①メキシコの割合は約25%、中国の割合は約56%でその差は31%程度。
  ②モーゼよりも自身の方が政治的有効性感覚が低いと感じている割合は
   中国の方が多い。
  ③自己評価のみを比較した場合と異なり、中国の方がメキシコより政治
   的有効性感覚が低いとも言える。

> vignettes$self_moses <- ifelse(vignettes$moses > vignettes$self, 1 , 0 )
> summary(vignettes)
      self           alison           jane          moses           china             age       
 Min.   :1.000   Min.   :1.000   Min.   :1.00   Min.   :1.000   Min.   :0.0000   Min.   :18.00  
 1st Qu.:1.000   1st Qu.:2.000   1st Qu.:1.00   1st Qu.:1.000   1st Qu.:0.0000   1st Qu.:29.00  
 Median :2.000   Median :3.000   Median :2.00   Median :2.000   Median :0.0000   Median :39.00  
 Mean   :2.114   Mean   :3.201   Mean   :2.57   Mean   :2.399   Mean   :0.3624   Mean   :41.12  
 3rd Qu.:3.000   3rd Qu.:4.000   3rd Qu.:4.00   3rd Qu.:3.000   3rd Qu.:1.0000   3rd Qu.:50.00  
 Max.   :5.000   Max.   :5.000   Max.   :5.00   Max.   :5.000   Max.   :1.0000   Max.   :88.00  

   self_moses    
 Min.   :0.0000  
 1st Qu.:0.0000  
 Median :0.0000  
 Mean   :0.3624  
 3rd Qu.:1.0000  
 Max.   :1.0000  

> tapply(vignettes$self_moses,vignettes$china,mean,na.rm = TRUE)
        0         1 
0.2489960 0.5618375 

(4)全ヴェニエット形式と自己回答の比較
  
①ヒストグラムを比較すると、全てのヴェニエットよりも自己回答の方
   が高いと回答している割合は中国よりメキシコの方が多い。
  ②また、全てのヴェニエットよりも自己回答の方が低いと回答している
   割合はメキシコよりも中国の方が多い。
  ③平均値を比較するとメキシコが2.701で、中国が2.531となっており、
   メキシコの方が0.17大きくなっている。
  ④上記より中国よりもメキシコの方が政治的有効性感覚は高い。

> vignettes$alison_moses <- ifelse((vignettes$alison > vignettes$jane) & 
+                                  (vignettes$jane > vignettes$moses),1,0)

> vignettes.hoge <- vignettes[vignettes$alison_moses == 1,]
> vignettes.hoge$self_alison_moses <- NA

> vignettes.hoge$self_alison_moses <- ifelse(vignettes.hoge$moses > vignettes.hoge$self,1,
+                                            ifelse((vignettes.hoge$jane > vignettes.hoge$self)&(vignettes.hoge$self>=vignettes.hoge$moses),2,
+                                                   ifelse((vignettes.hoge$alison > vignettes.hoge$self)&(vignettes.hoge$self>=vignettes.hoge$jane),3,4)))


> par(mfrow = c(1,2))
> hist(vignettes.hoge$self_alison_moses[vignettes.hoge$china == 1],freq = FALSE,
+      breaks = seq(from = 0.5,to = 4.5 , by = 1.0),ylim = c(0,0.5),xlab = "self_alison_moses",main = "China")
> abline(v = mean(vignettes.hoge$self_alison_moses[vignettes.hoge$china == 1]),col ="red",lwd = 4,lty = 2)

> hist(vignettes.hoge$self_alison_moses[vignettes.hoge$china == 0],freq = FALSE,
+      breaks = seq(from = 0.5,to = 4.5 , by = 1.0),ylim = c(0,0.5),xlab = "self_alison_moses",main = "Mexico")
> abline(v = mean(vignettes.hoge$self_alison_moses[vignettes.hoge$china == 0]),col ="red",lwd = 4,lty = 2)

> tapply(vignettes.hoge$self_alison_moses,vignettes.hoge$china,summary)
$`0`
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  1.000   2.000   3.000   2.701   3.000   4.000 
$`1`
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  1.000   2.000   3.000   2.531   3.000   4.000 

画像3

(5)国別世代別の政治的有効性感覚の比較
 <中国の場合>
  
①ヒストグラムを比較すると40歳以上は"3"が最も多いが40歳未は
   "2"最も多い。40歳未満は"1"も比較的多いが"4"は殆ど無い。
  ②平均をみると40歳以上は2.80だが40歳未満は2.08で、その差は0.72。
 <メキシコの場合>
  ①ヒストグラムを比較すると40歳以上・未満いずれもは"2"が最も多い
   次いで”3”、”4”が続き、”1”が最も少ない点も同じ。
  ②平均をみると40歳以上は2.75だが40歳未満は2.67で、その差は0.08と
   非常に小さい。

> vignettes.hoge$age_high <- ifelse(vignettes.hoge$age >= 40,1,0)

> par(mfrow = c(2,2))

> hist(vignettes.hoge$self_alison_moses[(vignettes.hoge$china == 1)&(vignettes.hoge$age_high == 1)],freq = FALSE,
+      breaks = seq(from = 0.5,to = 4.5 , by = 1.0),ylim = c(0,0.5),xlab = "self_alison_moses",main = "China age_high")
> abline(v = mean(vignettes.hoge$self_alison_moses[(vignettes.hoge$china == 1)&(vignettes.hoge$age_high == 1)]),col ="red",lwd = 4,lty = 2)

> hist(vignettes.hoge$self_alison_moses[(vignettes.hoge$china == 0)&(vignettes.hoge$age_high == 1)],freq = FALSE,
+      breaks = seq(from = 0.5,to = 4.5 , by = 1.0),ylim = c(0,0.5),xlab = "self_alison_moses",main = "Mexico age_high")
> abline(v = mean(vignettes.hoge$self_alison_moses[(vignettes.hoge$china == 0)&(vignettes.hoge$age_high == 1)]),col ="red",lwd = 4,lty = 2)

> hist(vignettes.hoge$self_alison_moses[(vignettes.hoge$china == 1)&(vignettes.hoge$age_high == 0)],freq = FALSE,
+      breaks = seq(from = 0.5,to = 4.5 , by = 1.0),ylim = c(0,0.5),xlab = "self_alison_moses",main = "China age_low")
> abline(v = mean(vignettes.hoge$self_alison_moses[(vignettes.hoge$china == 1)&(vignettes.hoge$age_high == 0)]),col ="red",lwd = 4,lty = 2)

> hist(vignettes.hoge$self_alison_moses[(vignettes.hoge$china == 0)&(vignettes.hoge$age_high == 0)],freq = FALSE,
+      breaks = seq(from = 0.5,to = 4.5 , by = 1.0),ylim = c(0,0.5),xlab = "self_alison_moses",main = "Mexico age_low")
> abline(v = mean(vignettes.hoge$self_alison_moses[(vignettes.hoge$china == 0)&(vignettes.hoge$age_high == 0)]),col ="red",lwd = 4,lty = 2)

> hogehoge <- matrix(NA,nrow = 2,ncol = 2)
> rownames(hogehoge) <- c("age_high","age_low")
> colnames(hogehoge) <- c("china","mexico")

> hogehoge[1,1] <- mean(vignettes.hoge$self_alison_moses[(vignettes.hoge$china == 1)&(vignettes.hoge$age_high == 1)])
> hogehoge[2,1] <-mean(vignettes.hoge$self_alison_moses[(vignettes.hoge$china == 1)&(vignettes.hoge$age_high == 0)])
> hogehoge[1,2] <-mean(vignettes.hoge$self_alison_moses[(vignettes.hoge$china == 0)&(vignettes.hoge$age_high == 1)])
> hogehoge[2,2] <-mean(vignettes.hoge$self_alison_moses[(vignettes.hoge$china == 0)&(vignettes.hoge$age_high == 0)])

> hogehoge
            china   mexico
age_high 2.800000 2.750000
age_low  2.083333 2.666667

画像4

3.練習問題を解いた感想

 ・グラフ化の関数はオプションが多く、設定を凝ると分かりやすいグラフを作成できる。一方で、エラーが出た際にどこが悪いのか分かりづらかったり、コードが長くなって可読性が落ちるといった欠点がある。

 ・対処法としては、グラフの種類別に自分なりのテンプレを作成作り、描画したい変数に応じて適当なものを適宜選べるようにした方が良さそう。

この記事が気に入ったらサポートをしてみませんか?