Hadley Wickham schrieb im vergangenen Jahr in JSS einen herausragenden Artikel mit dem Titel "Tidy Data" ( Link ) über Datenmanipulation und das Versetzen der Daten in einen "optimalen" Zustand, um eine Analyse durchzuführen. Ich habe mich jedoch gefragt, welche Best Practices für die Darstellung von Tabellendaten in einer Arbeitsumgebung gelten. Angenommen, Ihr Mitarbeiter bittet Sie, ihm einige Daten zur Verfügung zu stellen. Welche allgemeinen Regeln verwenden Sie bei der Strukturierung dieser Daten? Sind die Richtlinien in "Ordentliche Daten" genauso anwendbar, wenn Sie Daten mit Nicht-Datenprofis teilen? Dies ist natürlich sehr kontextspezifisch, aber ich frage nach Best Practices auf hoher Ebene.
12
Antworten:
Wie von Hadley zu erwarten ist, enthält sein Artikel eine gute Definition für ordentliche Daten, und ich stimme fast allem in seinem Artikel zu und glaube, dass dies nicht nur für "Datenprofis" gilt. Einige der von ihm angesprochenen Punkte sind jedoch relativ einfach zu beheben (z. B. bei von ihm verfassten Paketen), wenn einige grundlegendere Probleme vermieden werden. Die meisten dieser Probleme sind auf die weit verbreitete Verwendung von Excel zurückzuführen. Excel ist ein wertvolles Werkzeug und hat seine Vorzüge, aber einige seiner Funktionen führen zu Problemen für Datenanalysten.
Einige Punkte (aus meinen Erfahrungen):
Es gibt wahrscheinlich einige zusätzliche Punkte, die mir nicht in den Sinn gekommen sind.
quelle
Erstens bin ich normalerweise derjenige, der die Daten erhält. Das kann also als meine Wunschliste gelesen werden.
Mein wichtigster Punkt ist daher: Sprechen Sie mit demjenigen, der die Daten analysieren wird.
Ich hatte einen kurzen Blick auf das Papier: Vieles, was Hadley schreibt, könnte durch "Normalisieren Ihrer relationalen Datenbank" zusammengefasst werden.
Er erwähnt aber auch, dass es je nachdem, was tatsächlich vor sich geht, sinnvoll sein kann, dieselbe Variable entweder in langer oder in breiter Form zu haben.
Hier ein Beispiel: Ich beschäftige mich mit Spektren. Aus physikalisch / spektroskopischer Sicht ist das Spektrum zB eine Intensitätich als Funktion der Wellenlänge λ : I = f (λ). Aus physikalischen Gründen ist diese Funktion kontinuierlich (und kontinuierlich differenzierbar). Eine Diskretisierung zu bestimmtenλich s tritt nur aus praktischen Gründen auf (z. B. digitale Computer, Messinstrumente). Dies würde eindeutig auf eine lange Form hinweisen. Mein Instrument misst jedoch den Unterschiedλich in verschiedenen Kanälen (einer CCD / Detektorleitung oder eines Arrays). Die Datenanalyse behandelt auch jedenλich als Variate. Das wäre zugunsten der breiten Form.
Die nicht normalisierte Anzeige / Verteilung der Daten bietet jedoch einige praktische Vorteile:
Es kann viel einfacher sein, die Vollständigkeit der Daten zu überprüfen .
Verbundene Tabellen wie in einer normalisierten relationalen Datenbank sind in Ordnung, wenn sich die Daten tatsächlich in einer Datenbank befinden (im Sinne der Software). Dort können Sie Einschränkungen festlegen, die die Vollständigkeit gewährleisten. Wenn die Daten in Form mehrerer Tabellen ausgetauscht werden, sind die Links in der Praxis ein Chaos.
Durch die Datenbanknormalisierung werden Redundanzen beseitigt. Im realen Laborleben werden Redundanzen verwendet, um die Integrität zu überprüfen.
Redundante Informationen sollten daher nicht zu früh entfernt werden.
Die Speicher- / Festplattengröße scheint heutzutage weniger problematisch zu sein. Aber auch die Datenmenge, die unsere Instrumente produzieren, nimmt zu.
Ich arbeite mit einem Instrument, mit dem innerhalb weniger Stunden problemlos 250 GB qualitativ hochwertige Daten erzeugt werden können. Diese 250 GB sind in einem Array-Format. Wenn Sie diese Form auf eine lange Form erweitern, wird sie um einen Faktor von mindestens 4 vergrößert: Jede der Array-Dimensionen (laterales x und y und Wellenlänge λ) wird zu einer Spalte plus einer Spalte für die Intensität. Außerdem besteht mein erster Schritt während der Datenanalyse normalerweise darin, die normalisierten Langformdaten wieder in spektrenweite Form umzuwandeln.
Die Aufräumarbeiten, die in diesen Normalisierungspunkten behandelt werden, sind mühsam und keine gute Arbeit. In der Praxis verbringe ich jedoch normalerweise viel mehr Zeit mit anderen Aspekten des Aufräumens
Die Gewährleistung der Integrität und Vollständigkeit der Daten in der Praxis ist ein großer Teil meiner Arbeit beim Aufräumen von Daten.
Daten liegen nicht in einem leicht lesbaren Format vor / wechseln zwischen leicht unterschiedlichen Formaten:
Ich erhalte viele Daten in Form vieler Dateien, und normalerweise werden einige Informationen im Dateinamen und / oder Pfad gespeichert: Die Instrumentensoftware und / oder die erstellten Dateiformate erlauben es nicht, Informationen auf konsistente Weise hinzuzufügen Entweder haben Sie eine zusätzliche Tabelle (wie in einer relationalen Datenbank), die die Metainformationen mit einem Dateinamen verknüpft, oder der Dateiname codiert wichtige Informationen.
Tippfehler oder geringfügige Änderungen im Muster der Dateinamen verursachen hier viele Probleme.
quelle