今回は消費者物価指数のデータを使ってR言語での分析を練習しようと思います。
e-Stat(政府統計の総合窓口)からデータのファイルを取得します。
このなかの「年平均」のExcelファイルを開いてみました。
こういうファイルでした。このファイルをR言語に読込ませるために、CSVファイルに変換加工しました。
「生鮮食品を除く総合」などの「~~を除く総合」というのは削除して、年も西暦だけにしました。
読込んだデータをsummary関数で処理して、最小値、第1分位値、中央値、平均値、第3分位値、最大値を表示しました。データ項目の数が多いので全部を載せていません。
dim関数でこのデータフレームの行数と列数を確認しましょう。
48が行数なので、48年分のデータがあるということで、項目は74から年のぶんの1を引いて、73の項目があることがわかります。
summary関数だといっぺんに最小値や平均値が出てきて一つの画像に収まらないので、それぞれの関数で確認していきましょう。
最小値はmin関数です。全部のデータ項目で計算するので、apply関数を組み合わせます。
これ、それぞれの最小値がCPI_MINというベクトルに格納されました。
sort関数を使って小さい順に表示します。
「他の諸雑費」という項目が10.5で最小ですね。「家庭用.耐久財」が93.5で最大です。barplot関数で棒グラフにしてみましょう。
最大値はどうでしょうか?apply関数とmax関数を組み合わせます。
最小値と同じようにsort関数で小さい順に表示します。
「交通」が100.0で最小、「教養娯楽用.耐久財」が2420.2で最大です。2420.2って異常ですね。。barplot関数で棒グラフにしましょう。
一番右のとびぬけて高い棒が「教養娯楽用.耐久財」ですね。
平均値を計算しましょう。mean関数とapply関数を組み合わせます。
sort関数で小さい順に表示します。
「たばこ」が56.27917で最小、「教養娯楽用.耐久財」が1297.07083で最大です。
barplot関数で棒グラフにします。
最大値と同じような形状ですね。
中央値を計算しましょう。median関数とapply関数を組み合わせます。
sort関数で小さい順に表示します。
「たばこ」が53.25で最小、「教養娯楽用.耐久財」が1487.40で最大です。
barplot関数で棒グラフにしましょう。
標準偏差を計算します。sd関数とapply関数を組み合わせます。
標準偏差はデータにNAがあるとエラーになってしまうので、na.rm = TRUEを付け加えます。sort関数で小さい順に表示しましょう。
「情報通信.関係費」が1.934538で最小、「教養娯楽用.耐久財」が864.650052で最大です。barplot関数で棒グラフを描いてみましょう。
やはり、「教養娯楽用.耐久財」が飛びぬけていますね。
標準偏差を平均値で割り算した変動係数も計算しましょう。
sort関数で小さい順に表示します。
「理美容用品」が0.1225302で最小、「教養娯楽用.耐久財」が0.6666175で最大でした。barplot関数で棒グラフにしてみます。
一番右端の棒が「教養娯楽用.耐久財」です。
いままでの分析で、「教養娯楽用.耐久財」が飛びぬけていることがわかりました。次回の分析からは、この項目を抜かして分析しましょう。ということで最後に「教養娯楽用.耐久財」を除外したデータフレームを作成して終わりたいと思います。
subset関数で除外する列を名前で指定することができます。
本当に除外できたか確認してみましょう。
ls関数で変数一覧を表示します。
教養娯楽という文字列のある変数を見てみると、「教養娯楽」「教養娯楽.サービス」「教養娯楽.関係費」「教養娯楽.用品」だけで「教養娯楽.耐久財」がなくなっていることが確認できます。
次回は
です。