最近、クロス表の作成していないので、前回の出入国管理統計の2018年4月のデータを使って、クロス表を作成しようと思います。
前回までは、元のcsvデータファイルは、このように
このように空港か港、入国日本人、入国外国人と属性が列になってそれぞれの人数が入っている形式でした。
この形式だと、クロス表を作成するのが面倒そうなので、下のような形式に作り変えました。
このように数値データは一列だけにして、空港か港、出る入る、国籍の3つの属性の列を作成しました。
これをR言語で読込み、クロス表を作成しようと思います。
read.csv関数で読込み、summary関数でデータのサマリーを見てみたいと思います。
空港が244で港が264ですね。出る入る、国籍は354で同じです。人数が0の行を削除した新しいデータフレームを作りましょう。subset関数ですね。
0の行は、地名の(Other)の数字を使って計算すると、684 - 279 = 405 もありました。
このデータフレームでクロス表を作成します。属性データは、空港か港、出る入る、国政の3つありますから、この3つの組み合わせ、空港か港と出る入る、空港か港と国籍、出る入ると国籍の3種類の組み合わせがあります。
今回は、空港か港 x 出る入る の組み合わせでクロス表を作成しようと思います。
クロス表はtable関数です。
あらら、出入国の人数ではなくて単なる度数になってしまいました。つまり、空港で出国者がいた空港は75、港で入国者がいた港は68ということです。
人数で集計する方法は後日調べることにして、せっかくですので、このまま度数のクロス表を分析してみましょう。空港では出国と入国の数はほとんど同じですが、港では出国者のいた港(86)のほうが入国者のいた港(68)よりも多いです。この差は有意な差なのでしょうか?
まずは、上のクロス表を比率でみてみたいと思います。prop.table関数を使います。
margin=1とオプション引数をつけると、横方向の合計が1.0になります。港では、出国は0.558で、入国は0.442です。この差は有意な差なのでしょうか?
chisq.test関数でカイ自乗検定をします。
p-value = 0.3978 > 0.05 なので、帰無仮説を棄却できません。
空港・港の区別と出国・入国の区別は、度数ベースでは関連が無いといえます。