Rで何かをしたり、読書をするブログ

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

牛乳乳製品の生産動向分析1 - 主要乳製品生産量の基本統計量(summary関数, apply関数とsd関数)

政府統計の総合窓口、e-Statのサイトに訪問をしたら、牛乳乳製品の生産動向という統計が新着でありました。

f:id:cross_hyou:20180815092725j:plain

乳製品好きとしては、チェックしないではいられません。早速ファイルを見てみます。

f:id:cross_hyou:20180815092900j:plain

本統計では、全国の生乳生産量、用途別処理量、地域別生乳生産量、主要乳製品生産量、バター、脱脂粉乳の期末在庫等を毎月提供しています。とのことです。

ファイルを開いてみましたところ、主要乳製品の生産量はこんな感じのファイルでした。

f:id:cross_hyou:20180815093147j:plain

このデータを使って、R言語の練習をしましょう。まずは、このデータを簡単にしたものをcsvファイルに保存しました。

f:id:cross_hyou:20180815094210j:plain

単位は、トンです。(アイスクリームは千キロリットル)。伸び率はパーセント表示です。

R言語のread.csv関数でデータを読込みましょう。

f:id:cross_hyou:20180815095515j:plain

head関数で始めの6行を表示します。ちなみに、head(milk, 3)のように、数字をオプションで加えると、その数字の行数分だけデータを表示します。

データの基本統計量をだしてみましょう。summary関数を使うと最小値、第1分位値、中央値、平均値、第3分位値、最大値をだしてくれます。

f:id:cross_hyou:20180815100247j:plain

年度は数値データではないので、それぞれの値の度数が表示されています。

生産量MAXなのは、脱脂粉乳ですね。201,997トンもあります。チーズが145,632トンですからそれよりも多いですね。

summary関数では標準偏差は表示されませんので、apply関数とsd関数を組み合わせて算出します。

f:id:cross_hyou:20180815100748j:plain

あ、クリームやアイスクリームは欠損値(NA)が含まれていたので標準偏差が計算されません。年度は数値データではないのでNAでもいいですが、アイスクリームとクリームの標準偏差も出したいですね。こういうときは、na.rm=TRUEを加えて計算します。

f:id:cross_hyou:20180815101213j:plain

これでクリーム、アイスクリームの標準偏差も計算できました。

せっかくなので、apply関数とその他の関数を組みわわせて統計量を計算しましょう。

apply関数とmin関数で最小値です。

f:id:cross_hyou:20180815101529j:plain

apply関数とmax関数で最大値です。

f:id:cross_hyou:20180815101806j:plain

apply関数とmedian関数で中央値です。

f:id:cross_hyou:20180815101956j:plain

apply関数とmean関数で平均値です。

f:id:cross_hyou:20180815102946j:plain

mean関数は少しテクニックが必要です。まず、年度のデータが数値ではないので、年度の列も入ったままだとNAで計算できなくなります。milk[ , c(-1)]として1列目を削除しています。そして、round関数を使って小数点以下1桁にしています。round関数を使わないと、

f:id:cross_hyou:20180815103423j:plain

このように、小数点以下6桁表示になって、e+04やe-01などがくっついた表記になって、よくわからなくなります。