【第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
(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)
(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
(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
3.練習問題を解いた感想
・グラフ化の関数はオプションが多く、設定を凝ると分かりやすいグラフを作成できる。一方で、エラーが出た際にどこが悪いのか分かりづらかったり、コードが長くなって可読性が落ちるといった欠点がある。
・対処法としては、グラフの種類別に自分なりのテンプレを作成作り、描画したい変数に応じて適当なものを適宜選べるようにした方が良さそう。
この記事が気に入ったらサポートをしてみませんか?