政府統計の総合窓口、e-Statのサイトに訪問をしたら、牛乳乳製品の生産動向という統計が新着でありました。
乳製品好きとしては、チェックしないではいられません。早速ファイルを見てみます。
本統計では、全国の生乳生産量、用途別処理量、地域別生乳生産量、主要乳製品生産量、バター、脱脂粉乳の期末在庫等を毎月提供しています。とのことです。
ファイルを開いてみましたところ、主要乳製品の生産量はこんな感じのファイルでした。
このデータを使って、R言語の練習をしましょう。まずは、このデータを簡単にしたものをcsvファイルに保存しました。
単位は、トンです。(アイスクリームは千キロリットル)。伸び率はパーセント表示です。
head関数で始めの6行を表示します。ちなみに、head(milk, 3)のように、数字をオプションで加えると、その数字の行数分だけデータを表示します。
データの基本統計量をだしてみましょう。summary関数を使うと最小値、第1分位値、中央値、平均値、第3分位値、最大値をだしてくれます。
年度は数値データではないので、それぞれの値の度数が表示されています。
生産量MAXなのは、脱脂粉乳ですね。201,997トンもあります。チーズが145,632トンですからそれよりも多いですね。
summary関数では標準偏差は表示されませんので、apply関数とsd関数を組み合わせて算出します。
あ、クリームやアイスクリームは欠損値(NA)が含まれていたので標準偏差が計算されません。年度は数値データではないのでNAでもいいですが、アイスクリームとクリームの標準偏差も出したいですね。こういうときは、na.rm=TRUEを加えて計算します。
これでクリーム、アイスクリームの標準偏差も計算できました。
せっかくなので、apply関数とその他の関数を組みわわせて統計量を計算しましょう。
apply関数とmin関数で最小値です。
apply関数とmax関数で最大値です。
apply関数とmedian関数で中央値です。
apply関数とmean関数で平均値です。
mean関数は少しテクニックが必要です。まず、年度のデータが数値ではないので、年度の列も入ったままだとNAで計算できなくなります。milk[ , c(-1)]として1列目を削除しています。そして、round関数を使って小数点以下1桁にしています。round関数を使わないと、
このように、小数点以下6桁表示になって、e+04やe-01などがくっついた表記になって、よくわからなくなります。