「Tidy data」の版間の差分
削除された内容 追加された内容
Corelesspaper (会話 | 投稿記録) https://id.fnshr.info/2017/01/09/tidy-data-intro/ で公開されている CC BY 3.0 ライセンスの文書を参照して内容を追記 |
m編集の要約なし |
||
| (他の1人の利用者による、間の8版が非表示) | |||
10行目:
== 定義 ==
[[ハドリー・ウィッカム]]は、
# 個々の変数 (variable) が1つの列 (column) をなす。
# 個々の観測 (observation) が1つの行 (row) をなす。
# 個々の観測の構成単位の類型 (type of observational unit) が1つの表 (table) をなす。
#個々の値 (value) が1つのセル (cell) をなす
また、整然でないデータのことを'''雑然データ''' (messy data) と呼ぶ。
86 ⟶ 87行目:
|🌞
|}
ここで、1つ目に掲げたものは整然
=== まずは両者において変数がどのように表示されているかを見てみたい。このデータにおいては、地点・時刻・天気という3つの変数がある。1つ目の表においては、地点の情報は列で表されているが、時刻の情報は行で表されている。天気の情報は複数の行と列にまたがっている。地点も時刻も天気も意味的には変数であるにもかかわらず、表出された構造が異なっている。そして、整然データの1つ目の条件(個々の変数が1つの列をなす)は満たされていない。
これに対して、2つ目の表ではどの変数も1つの列で表されている。地点の情報は縦一本になっているし、時刻の情報も縦一本になっている。天気も同様だ。つまり、こちらは1つの変数が必ず1つの列をなしており、整然データの1つ目の条件を満たしている。
=== 観測と行 ===
今度は1つの観測がどのように表されているかについて見てみよう。今見ているデータでは、9つの観測が行われている。
1つ目の表においては、1つの観測が単純な形をしていない。例えば、福岡で12時に晴れだったという観測に関する情報はばらばらになってしまっている。この観測を抽出するコードを書くことはさほど容易なことではない。
これに対して、2つ目の表においては、1つの観測が1つの行という単純な形で示されている。つまり、こちらは、整然データの2つ目の条件(個々の観測が1つの行をなす)を満たしているのである。
=== 類型と表 ===
整然データの3つ目の条件(個々の観測の構成単位の類型が1つの表をなす)は、端的に言えば2つのことを含意する。
1つ目は、1つの表には種類の違う観測が入っていてはならないということである。先ほどの天気の例で言えば、表の中に天気を観測したもののほかに、ラーメン店の日々の売り上げを観測したものが入っていてはいけない。もし入っていれば、整然ではなくなる。このように類型の異なるものが1つの表に入っていれば、データ分析がしづらいことはすぐに分かるだろう。
2つ目は、同じ種類の観測が複数の表にまたがっていてはならないということである。先ほどの天気の例で言えば、6時の観測と12時の観測が別々の表に記録されていれば、それは整然とはならない。すぐに想像が付くだろうが、同じ種類の観測は、普通ひとまとめにして分析することになるので、1つの表にまとまっていた方が分析しやすいのである。複数の表にまたがっていては、簡単に分析することはできない。
=== 値とセル ===
最後に、整然データの4つ目の条件(個々の値が1つのセルをなす)についても簡単に触れておきたい。
もし、1つのセルに2つ以上の値が入っていれば、整然にはならない。例えば、札幌で6時も12時も晴れだったからといって、それをまとめて「6時&12時」という形で2つの値を1つのセルに記しては、整然でなくなる。
{| class="wikitable"
|+1つのセルに2つの値
!地点
!時刻
!天気
|-
|札幌
|6時 & 12時
|🌞
|-
|札幌
|18時
|☁
|}
また、1つの値の情報が2つ以上のセルに分かれてしまっているという場合も、整然にはならない。こうした状況は想像しにくいかもしれないが、何らかの2桁のコードがあったときに、1桁目と2桁目が別々のセルに格納されてしまっている状況はこれに当てはまるだろう。
== 意義 ==
=== 整然データ ===
整然データには、1つの'''構造上の単位'''と1つの'''意味上の単位'''とが対応しているという特徴がある。例えば、整然データにおいては、1つの列という構造上の単位が、1つの変数というデータの意味上の単位に必ず対応する。構造と意味とが合致していると、分析は非常に容易になる。
97 ⟶ 139行目:
ここで、構造と意味とが合致していなければ、人間が考えていることを計算機に理解させるための余計な翻訳をはさむ必要が出てくる。しかし、整然データのように、構造と意味が合致していれば、人間が考えた意味をほとんどそのまま計算機にわたす構造とすることができるのだ。
=== 雑然データ
今まで、整然データの意義について述べてきた。このことは、整然でないデータ、すなわち雑然データにまったく意義がないことを示唆するものではない。整然でないデータも、状況によっては役に立つ。
先に挙げた天気の例では、人間が見るのであれば、整然でないものの方が分かりやすいだろう。例えば、同じ時刻の異なる地点の天気を比較したければ、先に挙げた整然でないものの方が比較しやすいはずだ。また、紙に印刷するのであれば、先に挙げた整然でないものの方が紙幅を節約できる。
== データマトリックスとの関係 ==
| |||