「きちんとしたデータ」を作成するためのベストプラクティス


12

Hadley Wickhamは、JSSで昨年、データの操作と分析を実行するためにデータを「最適な」状態にすることについて、「Tidy Data」(リンク)と呼ばれるすばらしい記事を書きました。しかし、私は作業環境で表形式のデータを表示するという点でベストプラクティスは何だったのだろうと思っていましたか?同僚があなたにいくつかのデータを提供するように頼んだとしましょう。そのデータを構造化するときに使用するいくつかの一般的なルールは何ですか?「Tidy Data」のガイドラインは、データ専門家以外の人とデータを共有している場合にも当てはまりますか?明らかに、これは非常にコンテキスト固有ですが、高レベルの「ベストプラクティス」について質問しています。


この論文は、(まだ)Journal of Statistical Softwareに掲載されていません。
Nick Cox

3
ここではRタグは不要のようです。質問は、特定のソフトウェアの選択を超えています。
Nick Cox

回答:


10

ハドリーから期待できるように、彼の記事にはきちんとしたデータの適切な定義が含まれており、私は彼の記事のほとんどすべてに同意し、「データ専門家」だけに有効なわけではないと信じています。しかし、より根本的な問題が回避されれば、彼が作成するいくつかのポイントは(たとえば、彼が作成したパッケージを使用して)修正が比較的簡単です。これらの問題のほとんどは、Excelの広範な使用の結果です。Excelは価値のあるツールであり、そのメリットがありますが、一部の機能はデータアナリストに問題を引き起こします。

いくつかのポイント(私の経験から):

  1. カラフルなスプレッドシートが好きで、書式設定オプションを豊富に使用する人もいます。データを整理し、プレゼンテーション用のテーブルを準備するのに役立つ場合は、これで問題ありません。ただし、セルの色が実際にデータをエンコードしている場合は危険です。このデータは簡単に失われ、統計ソフトウェアにインポートすることは非常に困難です(たとえば、Stack Overflowでこの質問を参照してください)。
  2. 時々私は人々にそれを準備する方法を教えた後、うまくフォーマットされたデータを受け取りますが、コメントのために専用の列または別のファイルを使用するように彼らに頼んだにもかかわらず、彼らは値の列にコメントを入れることに決めました。データをインポートするときにこの列を特別な方法で処理する必要があるだけでなく、主な問題は、そのようなコメントを表示するためにすべてのテーブルをスクロールする必要があることです(通常は行いません)。Excelのコメント機能を使用している場合、これはさらに悪化します。
  3. 複数のテーブルが含まれているスプレッドシート、複数のヘッダー行、または接続されたセルは、統計ソフトウェアでのインポートのために準備するための手作業になります。優れたデータアナリストは通常​​、この種の手動作業を楽しんでいません。
  4. Excelで列を非表示にしないでください。不要な場合は削除してください。必要な場合は、提示してください。
  5. xlsとその子孫は、他のユーザーとデータを交換したり、アーカイブしたりするのに適したファイル形式ではありません。ファイルを開くと数式が更新され、Excelのバージョンが異なるとファイルの処理が異なる場合があります。代わりにシンプルなCSVファイルをお勧めします。これは、ほとんどすべてのデータ関連ソフトウェアがそれをインポートでき(Excelを含む)、それがすぐに変更されないことが予想されるためです。ただし、ExcelでCSVに保存する場合は、表示される桁に丸められることに注意してください(これにより、精度が破棄されます)。
  6. 他人の生活を楽にしたい場合は、Hadleyの記事に記載されている原則に従ってください。各変数の値列と、層を定義する因子列があります。

おそらく思いつかなかったいくつかの追加点があるでしょう。


1
「Excelで列を非表示にしないでください。不要な場合は削除してください。必要な場合は表示してください。」私はこれに同意しなければなりません。非表示のデータ/フィールドが問題です。ただし、データ列を削除すると、スプレッドシートでは元に戻せなくなる可能性があります。アプリケーションのメモリが大きな懸念事項でない限り、列の非表示/フィルタリングは非常に簡単なので、列を維持することをお勧めします。特に削除の逆転と比較して。
Dan Nguyen、

7

まず、私は通常、データを取得する人です。したがって、これは私のウィッシュリストとして読むことができます。

  • したがって、私の最も重要なポイントは、データを分析する担当者と話すことです。

  • 私は紙をざっと一目見ただけでした。ハドリーが書いたものの多くは、「リレーショナルデータベースを正規化する」ことで要約できます。

  • しかし、実際に何が起こっているかに応じて、同じ変数を長い形式または広い形式のいずれかで持つことが賢明である可能性があることにも言及しています。

    Iλλiλiλi

  • ただし、データの正規化されていない表示/分布にはいくつかの実用的な利点があります。

    • データが完全であることを確認する方がはるかに簡単です。

    • 正規化されたリレーショナルデータベースのように接続されたテーブルは、データが実際に(ソフトウェアの意味で)データベースにある場合は問題ありません。そこで、完全性を保証する制約を置くことができます。データが複数のテーブルの形式で交換される場合、実際にはリンクは混乱します。

    • データベースの正規化は冗長性を取り除きます。実際のラボでは、冗長性を使用して整合性を再確認します。
      したがって、冗長な情報を早めに削除しないでください。

    • 最近のメモリ/ディスクのサイズはそれほど問題ではないようです。しかし、当社の機器が生成するデータの量も増加します。

      私は、数時間で250 GBの高品質データを簡単に生成できる装置を使用しています。これらの250 GBはアレイ形式です。これを長い形式に拡張すると、少なくとも4倍に拡大されます。アレイの各次元(横方向のxとy、および波長λ)が列になり、強度用に1つの列になります)。さらに、データ分析中の私の最初のステップは、通常、正規化された長い形式のデータをスペクトル全体の形式にキャストすることです。

    • 通常、データ分析には特定のフォームが必要です。そのため、データを分析する担当者に相談することをお勧めします。
  • これらの正規化ポイントによって対処される整頓された仕事は退屈であり、良い仕事ではありません。しかし、実際には私は通常、片付けのその他の側面により多くの時間を費やします

    • 実際にデータの整合性と完全性を保証することは、私の整理されたデータ作業の大部分です。

    • データが読みやすい形式ではない/わずかに異なる形式間で切り替え:

      多くのファイルの形式で大量のデータを取得し、通常、一部の情報はファイル名またはパス、あるいはその両方に保存されます。計測器ソフトウェアや生成されたファイル形式では、一貫した方法で情報を追加できないため、メタ情報をファイル名にリンクする(リレーショナルデータベースのような)追加のテーブルがあるか、ファイル名が重要な情報をエンコードしています。

      タイプミスやファイル名のパターンのわずかな変更は、ここで多くの問題を引き起こします。

    • 測定の観点から整理する:誤った測定を取り除く(通常、誰かが誤ってライトをオンにした、宇宙線が検出器に当たった、カメラのフレームシフトなどの既知の物理的プロセスが原因で発生した)。

2
最初のポイントに+1。これは、データの記録と転送のための良いアドバイスであるだけでなく、理想的には実験計画やモニタリングに関するフィードバックをもたらすはずです。
Roland
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.