べくとりうむ.py Written by TicTak(※現在ブログ工事中のため、見づらい点があり申し訳ないです)

整然データ(Tidy Data)とは何か?データ分析に必須の「型」を解説【データ分析力が上がる】

AI×機械学習 python

こんにちは、ちくたっく(@tictak_py)です。

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

プレゼンする際の「データの見せ方」という観点からは答えはありませんが、pythonやR言語を用いて「データ分析」する観点からは望ましいデータ形式があるのです。

今回はその望ましいデータ形式である「整然データ」について解説していきたいと思います。

こんな方に読んで欲しい記事です

  • 整然データについて理解を深めたい方
  • データ分析で重要な「型」について理解したい方

今回はデータ形式として、具体例を交えながら「整然データ」と「雑然データ」について紹介します。雑然データを整然データに変換するpython Codingは下記の記事で紹介しています。

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

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

  1. 雑然データ(Messy data):データが散らばっていて分析しにくいデータの形式
  2. 整然データ(Tidy data):データがまとまっていて分析しやすいデータの形式

【具体例】製品別売上の月別集計

ここで1つ具体例をみていきたいと思います。

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

  • 【製品A】1月売上:100、2月売上:110、3月売上:130
  • 【製品B】1月売上:150、2月売上:200、3月売上:80

表は作成出来ましたか?まずは何かしらの表を自分で作ってみることが大事です。もし以下のような表を作成したなら、データ集計や分析に慣れている方かなと思います。

製品1月2月3月
製品A100110130
製品B15020080
雑然データ【※カラム名が消えてますが、1月、2月、3月となります】

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

整然データの型でまとめると、以下のような表になります。

製品売上
1A100
1B150
2A110
2B200
3A130
3B80
整然データ【※カラム名が消えていますが、左から「月」「製品名」「売上」となります】

整然データは「見にくいけど データ分析しやすい」

ではここで実際に「整然データ」とは何かについて解説していきたいと思います。

整然データとは、ハドリー・ウィッカム氏が提唱した「データ分析をしやすくするために整理した表形式のデータ」を言います。具体的には、以下4つの条件を満たした表形式のデータを意味します。

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

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

【イメージ】整然データでまとめた表

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

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

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

整然データは「見やすいけど データ分析しにくい」

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

しかし、データ分析の観点からはどうでしょうか?

【イメージ】雑然データでまとめた表

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

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

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

さいごに

今回はデータ分析に必須の「整然データ」について解説してきました。

「整然データ」と「雑然データ」の違いを意識することはあまりないかもしれませんが、スムーズにデータ分析をしたいと考えている方はぜひ理解してみてください。「データ分析力を高めたい」という方向けにおすすめ書籍も紹介しているので良ければ参考にしてみてください。

では今回はこのへんで。