独立性の検定。

だらだらと作業状況を書くよ。

使用するJGSS-2001(http://ssjda.iss.u-tokyo.ac.jp/gaiyo/0250g.html)のローデータのサンプル数は2790。
一応これ書いとかなきゃならないのかな(論文じゃないけど):

日本版General Social Surveys(JGSS)は、大阪商業大学比較地域研究所が、文部科学省から学術フロンティア推進拠点としての指定を受けて(1999-2003 年度)、東京大学社会科学研究所と共同で実施している研究プロジェクトである(研究代表:谷岡一郎・仁田道夫、代表幹事:佐藤博樹・岩井紀子、事務局長:大澤美苗)。東京大学社会科学研究所附属日本社会研究情報センターSSJ データアーカイブがデータの作成に協力している。

さて。

エクセルを使って“年齢”(ageb)変数から“年代”変数(=LEFT(D2,1) & "0代"*1)と“年代コード”変数(=LEFT(D2,1)*2)を作っておくよ。これを独立変数として使うよ。

もう一つの独立変数は“性別”(sexa)だけど(男性=1|女性=2)、これもエクセルでピボットテーブル作成ツール使うと、数値データとして足し算しちゃうから、sexaは“性別コード”にして、“性別”変数を別に作るよ(=IF(B2=1,"男性","女性"))。

従属変数は「留置調査票」Q50「同性間の性的関係について、あなたの考えは以下のどれですか。」(q4homsea)を使うよ。

1 例外なく悪い
2 たいていの場合悪い
3 必ずしも悪くない
4 悪くない

ちなみに無回答は“9”でコーディングされてるよ。

Frequency Tablesによるとこれはこうなっているよ。(http://ssjda.iss.u-tokyo.ac.jp/chosa-hyo/0250c_2.htmlでも見れる)

q4homsea 同性愛について
度数 パーセント 有効パーセント 累積パーセント
例外なく悪い 859 30.8 30.8 30.8
たいていの場合悪い 718 25.7 25.7 56.5
必ずしも悪くない 919 32.9 32.9 89.5
悪くない 190 6.8 6.8 96.3
無回答 104 3.7 3.7 100.0
合計 2790 100.0 100.0

ずいぶん無回答が多いね。

計算はRを使ったほうがはやいから、csvに変換する。
まず変数名を変える。年代コード→age、性別コード→sex。
で、q4homseaは、簡便のために2値化する。9は空欄に。1と2は1に、3と4は2に置換する。つまり{1=悪い|2=良い}。変数名はgb。
これをcsvで保存してRに読み込んでカイ二乗検定をするよ。ついでに積率相関係数も(これは四分点相関係数(ファイ係数)に等しい。あ!k×l分割表では使えないんだっけ?どうだったかな。いいはずだよね。あとで調べる)。

> gnag<-read.csv("gnagind.csv")
> summary(gnag)
       gb               sex            age       
 Min.   :  1.000   Min.   :1.00   Min.   :2.000  
 1st Qu.:  1.000   1st Qu.:1.00   1st Qu.:3.000  
 Median :  1.000   Median :2.00   Median :5.000  
 Mean   :  1.413   Mean   :1.54   Mean   :4.767  
 3rd Qu.:  2.000   3rd Qu.:2.00   3rd Qu.:6.000  
 Max.   :  2.000   Max.   :2.00   Max.   :8.000  
 NA's   :104.000                                 
> chisq.test(table(gnag$age,gnag$gb))

        Pearson's Chi-squared test

data:  table(gnag$age, gnag$gb) 
X-squared = 471.7261, df = 6, p-value < 2.2e-16

> cor.test(gnag$age,gnag$gb,method="pearson")

        Pearson's product-moment correlation

data:  gnag$age and gnag$gb 
t = -23.1281, df = 2684, p-value < 2.2e-16
alternative hypothesis: true correlation is not equal to 0 
95 percent confidence interval:
 -0.4387058 -0.3756191 
sample estimates:
       cor 
-0.4076488 

p値がゼロに近いから独立性の仮説は棄却できる(2変数間に関連がある)。相関係数も高いね。年齢が高くなるにつれて「悪い」と答える傾向、ということでいいの?

> chisq.test(table(gnag$sex,gnag$gb))

        Pearson's Chi-squared test with Yates' continuity correction

data:  table(gnag$sex, gnag$gb) 
X-squared = 20.0295, df = 1, p-value = 7.626e-06

> cor.test(gnag$sex,gnag$gb,method="pearson")

        Pearson's product-moment correlation

data:  gnag$sex and gnag$gb 
t = 4.5303, df = 2684, p-value = 6.149e-06
alternative hypothesis: true correlation is not equal to 0 
95 percent confidence interval:
 0.04945411 0.12452249 
sample estimates:
       cor 
0.08711197 

こちらも帰無仮説は棄却できる。相関係数はそんなに高くない。でもよくわからない。

ちょっと不安なので青木先生の関数(http://aoki2.si.gunma-u.ac.jp/R/zokusei-soukan.html)を使ってクラメール係数等出力してみる。

> cramer(table(gnag$age,gnag$gb))
[1] 0.4190752

というわけでやはりage変数は相関係数高いね。コーホート効果か加齢効果かかはわからないけど。

ついでにsex変数のファイ係数も。

> phi(table(gnag$sex,gnag$gb))
[1] 0.08711197

おお、やはりピアソンの積率相関係数と同じ値が出た。よかった。

*1:D列の左1文字に“0代”という文字列をくっつけただけ

*2:D列の左1文字をひろってきただけ