cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
「指数化されたデータ」を用いて折れ線グラフを描く ~日本の果物消費に関する興味深い考察~

皆様は毎日果物を食べていますか? 以前から果物離れが言われており、令和元年(2019年)の調査では11日あたりの果物摂取量は約100gであり、目標とされる200gの半分程度しかないようです。

 

では、果物別の消費量の推移を調べてみるとどうなるでしょうか。

 

下図は、2010年から2022年にかけて、りんご、みかん、梨など各果物の購入数量(1年に何g購入したか)折れ線グラフで表したものです。

 

※果物の消費金額のデータもあるのですが、その年の物価に依存するため、購入数量を用いています。

 

nao_masukawa_1-1703490635877.png

データの出典:総務省統計局 家計調査

 

果物によって重さが異なりますので、このグラフだと果物間の比較が難しいです。重さが相対的に小さい果物(いちごやぶどうなど)はY軸の下部に表示され、購入数量が増加傾向なのか、減少傾向なのかがいまいち分からないですね。

 

指数化したデータを用いた折れ線グラフ

このような場合、ある年を基準(100とする)にして、他の年の値をこの基準年に対するパーセンテージで表現する方法があります。これは「指数化」と呼ばれ、経済や金融分野でよく用いられます。基準年を100として、他の年の値をこの基準年に対するパーセンテージで表現する方法は、「ベース100の指数」とも呼ばれています。

 

そこで、2010年を基準(100)とし、他の年の相対的なパーセンテージを折れ線グラフとして表してみました。ついでに、その果物の色を連想できるように折れ線の色を変更し、2022年(最後の年)にはラベルを付けています。

 

nao_masukawa_0-1703489928063.png

 

このグラフからは、ほとんどの果物において2022年の購入数量は2010年と比べて減少しているのがわかります。特にメロンは2010年比で56%まで落ち込んでいます。

 

一方、キウイフルーツは2010年比で151%と大幅に購入数量が増加しているのです。

 

この結果は皆様の家庭に当てはまるでしょうか? そういえばキウイフルーツは簡単に食べられ、ビタミンCが豊富だから食べるようになったなあと思われている方が、案外多いかもしれません。

 

JMPでこの指数化した折れ線グラフを作成するには、事前に指数化したデータを用意する必要があります。

 

データを指数化する

元々のデータは、以下のように年ごとに各果物の購入数量が記載されています。このデータを指数化、ここでは「2010年を100としたときの割合」に変換する必要があります。

 

nao_masukawa_0-1703492926061.png

 

Microsoft Excelの絶対参照に詳しい方は、Excelでこの計算を行うこともできますが、ここではJMPの計算式を用いた方法を説明します。

 

※本ブログに、以下の手順で計算式を作成したJMPデータテーブル(「果物消費数量(2010-2022)りんご.jmp」)を添付しています。

 

データテーブルの列「りんご(g)」を例とすると、次のような計算式を作成することになります。 

 

nao_masukawa_1-1703493225870.png

 

計算式は少しややこしいですね。この式のポイントは、式中にある計算式

 

nao_masukawa_2-1703493355150.png

 

の作り方とその意味です。この計算式の意味を知ることは、今回の例だけでなく応用範囲が広いですので、覚えておくと良いでしょう。以下に順を追って説明します。

 

1.  Subscript() 関数を使う

りんご(g) を選択してからSubscript()関数を選択すると、下図のように添え字を指定できます。もし、選択されている添え字部分に”1“ を入力すると、1行目のりんごの値( = 12,371) が取得できます。

 

nao_masukawa_5-1703493734346.png

 

2. Col Minimum() 関数を使う

今回の例では2010年のりんごの値が取得できれば、その値から各年のパーセンテージを算出できるので、単純に りんご(g)と添え字を1にすれば良いのですが、より一般的な方法を説明します。

 

下図のように、手順1で作成した添え字に、Col Minimum() 関数を入れます。

 

nao_masukawa_4-1703493701302.png

 

Col Minimum(列名) 関数は、引数に指定した列名に対し、指定した列の最小値を返す関数です。

 

3. Row() 関数を使う

手順2で作成したCol Minimum()関数の引数としてRow()関数を指定します。

 

nao_masukawa_6-1703493874321.png

 

Row() 関数は、現在の行番号を戻す関数です。そのため、1行目の値は12行目の値は2、・・・、10行目の値は10になります。

 

手順2,3 より、Col Minimum(Row()) は、このデータの最小の行番号( = 1)を返していることになります。

 

1行目のりんごの値は、いわゆる2010年におけるりんごの購入数量なので、この値から各年のパーセンテージを求めているのです。

 

by  増川 直裕(JMP Japan)

Naohiro Masukawa - JMP User Community

Last Modified: Dec 27, 2023 7:28 PM