政府統計の総合窓口(e-Stat)に新着データとして、「生産者の米穀在庫等調査」というデータがありました。
クリックしてみます。
本調査は、毎月、農家の米穀の在庫量等を調査し、農家1戸当りのうるち米及びもち米の供給量、消費量、販売量、在庫量等を全国、都道府県別に提供しています。
とのことです。
どういう種類のデータがあるでしょうか?
農家1戸当りのデータを都道府県別にまとめたものですね。ファイルを見てみます。
こういうデータですね。
これをR言語で読込みやすいようにCSVファイルに加工しました。
このCSVファイルをread.csv関数でR言語に読込み、summary関数で基本統計量を表示しましょう。
標準偏差を計算しましょう。sd関数です。
apply関数とsd関数で都道府県を除くすべての列にsd関数を適用しています。そして結果をround関数で整数表示にしています。
平均値も同じように計算します。mean関数です。
変動係数(CV)を計算します。標準偏差 / 平均値 です。
飯用の変動係数が一番小さい(0.19)ですね。まあ、農家1戸当りの飯用ですから、各県でそれほど大きくは変わらないですよね。それに比べると、販売量はCVが1.21ですから都道府県によって大きく変わる、ということですね。
販売量の箱ひげ図と飯用の箱ひげ図を比較してみましょう。boxplot関数です。
販売量のほうは、大きな外れ値が一つありますね。
各項目同士の相関係数を計算しましょう。cor関数です。
脱穀量と供給量の相関係数が1.000です。供給量 = 脱穀量 + 購入量 という関係ですが、脱穀量の平均値は6080、購入量の平均値は63と購入量は脱穀量の1%ほどですから供給量と脱穀量の相関が1.000になるのも納得です。
供給量と販売量の相関係数も1.000ですね。
それぞれのデータの分布の様子を見るために、データの小さい順に並び替えて棒グラフを描いてみましょう。棒グラフはbarplot関数、並び替えはsort関数、for関数で一度に10個のグラフを作ります。
はじめに、par(mfrow=c(2,5))で2行5列のグラフの箱を作っておいて、そのあとにfor関数で10個の棒グラフを作ります。
こうしてグラフを見ると、1つの都道府県が突出しているデータ項目が多いことがわかります。そしてその突出した都道府県とは。。。北海道ですね。。。確認してみましょう。order関数で並び替えて表示しましょう。
北海道は、飯用と無償譲渡量以外はダントツの1位だとわかります。
長崎は自分で食べる分(飯用)が多いんですね。
北海道がどれだけ突出しているかを見るために、各データを標準化して、標準化したデータの平均値を各都道府県ごとに計算してみましょう。
標準化した数値はZ値といいます。scale関数です。
scale(data[ ,-1]) で都道府県の列以外の数値データを標準化して、その結果をas.data.frame関数でデータフレームにしています。
apply関数とmean関数で行ごとのの平均値を算出してそれをAverageという列名でz_dataのデータフレームに追加しています。
cbind関数でdataの1列目、つまり都道府県とz_dataと結合しています。
colnames関数でz_dataの1列目の列名を"都道府県"と名付けています。
そして、order関数でAverageの大きい順に並び替えています。
こうしてみると、北海道がダントツだとわかりますね。
棒グラフにしてみましょう。
一番右の飛びぬけている棒が北海道ですね。北海道は別格ですね。