crosshyou

主にクロス表(分割表)分析をしようかなと思いはじめましたが、あまりクロス表の分析はできず。R言語の練習ブログになっています。

都道府県別の定期健康診断結果報告のデータ分析1 - R言語にデータを取り込む

Photo by Dana Luig on Unsplash 

今回は、都道府県別の定期健康診断結果報告のデータを調べてみます。

政府統計の総合窓口(www.e-stat.go.jp)のウェブサイトからデータをダウンロードします。

定期健康診断結果報告は、労働安全衛生法に基づく定期健康診断結の結果についての事業場からの報告を集計したもので、健康診断の項目や業種、都道府県ごとの有所見率等のデータだそうです。

ダウンロードしたCSVファイルは、下図のようなものでした。



8行名に変数名をローマ字で追加して、A列が「2017年」となっていたのを「年」を削除して「2017」にし、さらにB列の都道府県名を漢字からローマ字に直しています。

このCSVファイルをR言語に取り込みます。read.csv()関数を使います。

今回は、あえてtidyverseのパッケージを使わないでやってみます。

CSVファイルはデータが8行目から始まっているので、"skip = 7" としています。

また、ファイルは UTF-8 で保存したので、encoding = "UTF-8" を付け加えています。

str()関数でデータフレーム(df_raw)を表示してみましたところ、num, two, jushin, shoken が本来は数値データとして読み込まれていないといけないところ、文字列データとして読み込まれています。これは、39,499のようにカンマが含まれているからです。

これを数値にするためには、まず、gsub()関数でカンマを除去する必要があります。

そして、その後に、as.numeric()関数で文字列データを数値データに変更してあげます。

無事に数値型データになったか、summary()関数でデータフレームのサマリーを表示してみます。

pref以外の変数が数値型になっていりので、平均値などが表示されました。

所見のあった率の平均値が55.17%でした。

さて、このデータフレーム:df_rawは全国のデータも含まれてしまっていますので、都道府県別の分析をするには不都合です。

subset()関数でpref が All のデータを削除した新しいデータフレームを作成します。

as.factor()関数を使って、pref のデータ型をファクター型に変換しました。

調査年は2015, 2016, 2017の三年間です。

今回使った関数は、

read.csv()関数 -- CSVファイルのデータをR言語に読み込む

str()関数 --- オブジェクトの構造を表示

gsub()関数 --- 文字列の置き換え

as.numric()関数 --- 数値型データに変換

summary()関数 --- サマリーを表示

subset()関数 --- データフレームをフィルター

as.factor()関数 --- ファクター型に変換

でした。

 

今回は以上です。

次回は

www.crosshyou.info

です。