pythonコード プログラミング系 データサイエンス 思考法 業務効率化 非エンジニア向け

整然データ(Tidy Data)とは何か?データ分析に必須の「型」を紹介

こんにちは、TAKです。
突然ですが、みなさんはデータ分析の対象となる「元データ」ってどのような形式で管理あるいは作成していますか?「Excelで見やすいように作成している」「表形式にして分析している」など様々でしょう。

プレゼンする際の「データの見せ方」という観点からは答えはありません。
ただ、pythonやR言語を用いて「データ分析」する観点からは望ましいデータ形式があるのです。
今回はその望ましいデータ形式である「整然データ」について解説していきたいと思います。

【こんな人に読んで欲しい記事です】
1. 「整然データ」について理解を深めたい方
2. 「データ分析」にあたってのデータ形式を今一つ理解していない方
今回はデータ形式として、具体例を交えながら「整然データ」と「雑然データ」について紹介します。
雑然データを整然データに変換するpython Codingは下記の記事で紹介しています。

雑然データ(Messy) vs 整然データ(Tidy)

データ形式には大きくわけて2つの種類があり、簡単にまとめると下記のようになります。

■ 雑然データ(Messy data) ・・・ データ分析の観点からは散らばった扱いにくいデータ形式
■ 整然データ(Tidy data)  ・・・ データ分析の観点からはまとまった扱いやすいデータ形式
【具体例】製品別売上の月別集計

ではいきなりですが、具体例をみていきたいと思います。
ある企業は製品Aと製品Bを扱っており、2020年1月~3月の売上を集計した表を作りたいと考えています。
企業担当者になった気分で、下記売上データに基づきどのような表を作成するか少し考えてみてください。

(製品A)1月売上:100、2月売上:110、3月売上:130
(製品B)1月売上:150、2月売上:200、3月売上:80
表は作成出来ましたでしょうか?
まずは何かしらの表を自分で作ってみることが大事です。
もし以下のような表が作成出来たなら、データ集計や分析に慣れている方だと思います。
製品 1月 2月 3月
製品A 100 110 130
製品B 150 200 80

ただ、実はこのデータ形式は「雑然データ」に分類される方法なのです。

「整然データ」とは下記のような表のことを言います。

製品 売上
1 A 100
1 B 150
2 A 110
2 B 200
3 A 130
3 B 80

 

「整然データ」の特徴【見やすさ△ / データ分析○】

ではここで実際に「整然データ」とは何かについて解説していきたいと思います。
整然データとは、ハドリー・ウィッカム氏が提唱した「データ分析をしやすくするために整理した表形式のデータ」を言います。

具体的には、以下4つの条件を満たした表形式のデータを意味します。

条件①:ある1つの観測ユニットについてまとめた表
条件②:それぞれの列は「変数」を表す
条件③:それぞれの行は「観測値」を表す
条件④:1つのセルには1つのデータのみが格納されている

条件①と④の記載は当たり前なのですが、特に条件②と③が重要となります。
先ほどの具体例を用いて説明すると、下記のようなイメージとなるので理解しておいてください。

実際、このような形式でプレゼン資料を作ることはほぼないと思います。
なぜなら、語弊を恐れずに言うと「見にくい」からです。
しかし、元データを整然データとして作成しておくことで、データ分析の観点からは強力な力を発揮してくれると覚えておいてください。

整然データ形式を用いた具体的なデータ分析方法は別の機会に紹介しますが、データ分析に際して強力な力を発揮する理由は、データの構造」と「データの意味」とが一致しているためです。

例えば「月別の売上合計を知りたい」時は1列目と3列目のデータを使えばいいですし、「製品別の売上合計を知りたい」時は2列目と3列目のデータを使えばOKです。当たり前と思われるかもしれませんが、これが出来るのも「データの構造」と「データの意味」が一致しているからこそなのです。

「雑然データ」の特徴【見やすさ○ / データ分析×】

ではもう一方の雑然データを見てみましょう。
プレゼンなどの場では、「パッと見」わかりやすいこの表形式を使うことが多いと思います。
しかし、データ分析の観点からはどうでしょうか?

先ほどの整然データ形式と比べても、データ分析対象としたい変数が表の中で散らばっていますよね。
「月別の売上合計を知りたい」、「製品別の売上合計を知りたい」といった時、変数の取得が面倒でデータ分析しにくいことがわかるかと思います。

このようなシンプルな例でもわかりにくい以上、pythonやR言語でも扱いにくいデータ形式となるのです。

余談ですが、雑然データは「軸を取る整理法」とも言えるので、プレゼンのような場では適しているのかもしれませんね。目的に応じて使い分けるようにしてください。

まとめ

いかがだったでしょうか?
今回はデータ分析に必須の「整然データ」について解説してきました。

「整然データ」と「雑然データ」の違いを意識しながら理解するようにしてください。
実際に理解が出来てpythonのCodingにも興味がある方は、コチラの記事も参考にしてみてくださいね。

【Python Coding】整然データ(Tidy Data)
整然データをpythonで扱えるようにすることを目的として記事です。簡単な具体例を用いて、実際にpythonを用いてコーディングする方法をわかりやすく解説しています。興味のある方は参考にしてみてください。

では今回はこのへんで。