crosshyou

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

景気ウォッチャー調査地域別(現状)のデータ分析1 - データをR言語で読み取り、分析しやすいデータフレームにする。

今回は景気ウォッチャーのデータの分析をしてみようと思います。

内閣府のウェブからデータを取得しました。

f:id:cross_hyou:20200118132025p:plain

ここからエクセルをダウンロードして、今回は、地域別(現状)のデータを使います。

R言語に読込ませるように、少し加工しました。

f:id:cross_hyou:20200118132209p:plain

これをR言語で読込みます。

f:id:cross_hyou:20200118132843p:plain

こうなりました。

このような形式のデータはよくないですよね。本当は、

f:id:cross_hyou:20200118133146p:plain

こういう形式になってないといけないですよね。

どうやって変換するのかな。。。

str関数の結果を見ると、obsは216あります。216/12=18なので2002年から2019年までの18年間のデータですね。variablesが17で、そのうち二つはYearとMonthですから地域は15地域あります。ということは、Yearは一つの年で、12か月 x 15地域 = 180必要です。1年につき180で2002年から2019年まで18年ですから、データの長さは、180 x 18 = 3240です。rep関数をYEARという変数を作成します。

f:id:cross_hyou:20200118134804p:plain

これでいいですね。

つぎは、MONTHという変数をつくりましょう。1月が15地域、2月が15地域、、、11月が15地域、12月が15地域、これを18回繰り返します。

f:id:cross_hyou:20200118135341p:plain

これでいいですね。

REGIONは15の地域を3240 / 15 = 216回繰り返します。

f:id:cross_hyou:20200118135835p:plain

これでいいですね。

最後の景気ウォッチャーの値ですが、これは横方向にデータを並べればいいですね。

でも、Rは普通は縦方向にデータを読込みますので、縦横を変換する必要があります。

f:id:cross_hyou:20200118140309p:plain

いいですね。

これで、分析のためのデータフレームができます。

f:id:cross_hyou:20200118140638p:plain

できましたね。

この新しいデータフレーム、dfaが正しく作成されているか確認してみましょう。

もともとのdfで地域別の平均値を出してみます。apply関数とmean関数を使います。

f:id:cross_hyou:20200118140955p:plain

新しいデータフレーム、dfaから地域別の平均値を計算します。tapply関数とmean関数を使います。

f:id:cross_hyou:20200118141237p:plain

並びは違いますが、値は同じです。

これで、データ分析用のデータフレーム、dfaができました。

今回は以上です。