今回は、生産者の米穀在庫調査のデータを、全国平均よりも多い・少ないで二つに分けてクロス表分析をしてみたいと思います。まずは、read.csv関数でCSVファイルに保存してあるデータを読込みます。summary関数で要約統計量も表示してみましょう。
head関数で始めの6行を表示してみます。
このデータフレームは、1行目が全国平均ですね。この数字よりも多いか少ないかでデータを多・少の2値をとるカテゴリカルデータに変換したいと思います。
ifeslse関数を使ってカテゴリカルデータを作りたいと思います。
data$年度初.在庫量[-1]は1行目を除いた年度初.在庫量のデータで、
data$年度初.在庫量[1]は1行目の年度初.在庫量のデータ、つまり全国平均の540です。
クロス表はtable関数で簡単に作成できます。
年度在庫量と供給計 <- table関数 を( )でくくってやると、「年度在庫量と供給計」というクロス表が作成されるのと同時にコンソール画面にも表示されます。在庫量と供給計には関連があるのでしょうか?chisq.test関数でカイ自乗検定をしてみます。
p-value = 0.3457 > 0.05 なので、在庫量と供給計に関連は無い、という帰無仮説を棄却できません。
他の組み合わせはどうでしょうか?例えば、脱穀量と販売量はどうでしょうか?
あ、これは完璧に関連していますね。カイ自乗検定をしてみます。
p-value = 9.667e-11 < 0.05 ですから、関係ないという帰無仮説は棄却されます。ただ、クロス表に0という値の組み合わせがあるので、「カイ自乗近似は不正確かもしれません」と警告メッセージが出ました。こういうときは、フィッシャーの正確確率検定をします。fisher.test関数です。
p-value = 1.914e-11 < 0.05 ですので、「脱穀量と販売量は関係無い」という帰無仮説が棄却され、「脱穀量と販売量は関係している」という結論になります。