crosshyou

主にクロス表(分割表)分析をしようかなと思います。

定期健康診断結果の分析4 - 業種の大分類によって有所見率は違うのか?(tapply関数, matrix関数, chisq.test関数)

前回の分析では、石炭鉱業の有所見率と鉄道等の有所見率は統計的に有意に違いがある、とわかりました。今回は大分類で差があるかを見てみましょう。

いつものように、read.csv関数でデータを読込み、head関数で始めの6行を表示し、summary関数でデータの要約を表示します。

f:id:cross_hyou:20180718185953j:plain

大分類ごとの受信者数と所見人数の合計値をだします。

こういうときは、tapply関数を使います。

f:id:cross_hyou:20180718191637j:plain

tapply(処理したいデータ, 分類したいデータ, 処理したい関数)という順番ですね。

こうして、「受信者数合計」と「所見人数合計」という2つのデータを作成しました。

受信者数合計から所見人数合計を引いて、無所見人数合計を作りましょう。

f:id:cross_hyou:20180718194240j:plain

こうなります。

所見人数合計と無所見人数合計を組み合わせてマトリックス(行列)を作ります。matrix関数ですね。

f:id:cross_hyou:20180718194555j:plain

ncol=2 でこの行列は2列の行列です、と指定しています。

このままでは、4293834が何を示す人数かわからない(その他の所見人数の合計です)ので、rownamesとcolnamesという属性を設定します。

f:id:cross_hyou:20180718194758j:plain

これでわかりやすいクロス表になりましたね。

まずは比率の表にしてみましょう。

f:id:cross_hyou:20180718195104j:plain

prop.table関数で比率の表になります。margin=1で行の合計が1になるように設定しています。round関数で小数点第2位までの表示にしています。製造業やその他が所見無しの比率が高く、鉱業、建設業が所見有りの比率が高いですね。

では、業種の対分類と所見の有無は関連があるのかないのか、カイ二乗検定で検定してみましょう。chisq.test関数です。

f:id:cross_hyou:20180718195448j:plain

p-value < 2.2e-16 < 0.05ですから有意な結果となりました。大分類と所見の有無は関連があります。

最後に、調整済み残差をだして、マトリックスのどの部分が有意なのかを確認しましょう。検定結果$stdresとすると表示できます。

f:id:cross_hyou:20180718200054j:plain

となります。調整済み残差では絶対値で2以上の値が統計的に有意な値となります。これを見ると、全てのところで絶対値が2以上ですね。

その他と製造業で所見無しの人数が多く、運輸交通、貨物取扱、建設業、鉱業で所見有りの人数が多いということです。