Najlepsze praktyki tworzenia „uporządkowanych danych”

12

Hadley Wickham napisał w zeszłym roku w JSS gwiezdny artykuł zatytułowany „Tidy Data” ( link ) na temat manipulacji danymi i doprowadzenia danych do stanu „optymalnego” w celu przeprowadzenia analizy. Zastanawiałem się jednak, jakie były najlepsze praktyki w zakresie prezentacji danych tabelarycznych w środowisku pracy? Powiedzmy, że twój współpracownik prosi cię o przekazanie mu pewnych danych. Z jakich ogólnych zasad korzystasz przy tworzeniu tych danych? Czy wytyczne w „Tidy Data” mają zastosowanie również w przypadkach, w których udostępniasz dane profesjonalistom niebędącym danymi? Oczywiście jest to bardzo specyficzne dla kontekstu, ale pytam o „najlepsze praktyki” na wysokim szczeblu.

amathew
źródło
Ten artykuł nie został jeszcze opublikowany w Journal of Statistics Software.
Nick Cox
3
Tag R wydaje się tutaj niepotrzebny. Pytanie wykracza poza wybrane opcje oprogramowania.
Nick Cox

Odpowiedzi:

10

Jak można się spodziewać po Hadleyu, jego artykuł zawiera dobrą definicję uporządkowanych danych i zgadzam się z prawie wszystkim w jego artykule i uważam, że jest on nie tylko ważny dla „specjalistów od danych”. Jednak niektóre z jego punktów są stosunkowo łatwe do naprawienia (np. W przypadku pakietów, których autorem jest autor), jeśli uniknie się bardziej podstawowych problemów. Większość tych problemów wynika z powszechnego korzystania z programu Excel. Excel jest cennym narzędziem i ma swoje zalety, ale niektóre jego funkcje powodują problemy dla analityków danych.

Niektóre punkty (z moich doświadczeń):

  1. Niektórzy ludzie lubią kolorowe arkusze kalkulacyjne i często korzystają z opcji formatowania. Wszystko w porządku, jeśli pomoże im uporządkować swoje dane i przygotować tabele do prezentacji. Jednak niebezpieczne jest, jeśli kolor komórki faktycznie koduje dane. Łatwo jest utracić te dane i bardzo trudno jest zaimportować takie dane do oprogramowania statystycznego (np. Zobacz to pytanie na temat Przepełnienia stosu).
  2. Czasami otrzymuję ładnie sformatowane dane (po tym, jak powiedziałem ludziom, jak je przygotować), ale pomimo prośby o użycie dedykowanej kolumny lub osobnego pliku do komentarzy, decydują się na umieszczenie komentarza w kolumnie wartości. Nie tylko muszę traktować tę kolumnę w specjalny sposób podczas importowania danych, ale główny problem polega na tym, że musiałbym przewijać całą tabelę, aby zobaczyć takie komentarze (czego zwykle nie robiłbym). Sytuacja jest jeszcze gorsza, jeśli korzystają z funkcji komentowania programu Excel.
  3. Arkusze kalkulacyjne z kilkoma tabelami, wieloma wierszami nagłówka lub połączonymi komórkami powodują ręczną pracę nad przygotowaniem ich do importu w oprogramowaniu statystycznym. Dobrzy analitycy danych zwykle nie lubią tego rodzaju pracy ręcznej.
  4. Nigdy, nigdy nie ukrywaj kolumn w Excelu. Jeśli nie są potrzebne, usuń je. Jeśli są potrzebne, pokaż je.
  5. xls i jego potomkowie nie są odpowiednimi formatami plików do wymiany danych z innymi lub do ich archiwizacji. Formuły są aktualizowane po otwarciu pliku, a różne wersje programu Excel mogą obsługiwać pliki inaczej. Zamiast tego polecam prosty plik CSV, ponieważ prawie wszystkie programy związane z danymi mogą go importować (nawet Excel) i można się spodziewać, że wkrótce się to nie zmieni. Należy jednak pamiętać, że program Excel zaokrągla widoczne cyfry podczas zapisywania do pliku CSV (tym samym odrzucając precyzję).
  6. Jeśli chcesz ułatwić życie innym, zastosuj się do zasad podanych w artykule Hadleya. Mają kolumnę wartości dla każdej zmiennej i kolumny czynników definiujące warstwy.

Prawdopodobnie jest kilka dodatkowych punktów, które nie przyszły mi do głowy.

Roland
źródło
1
„Nigdy, nigdy nie ukrywaj kolumn w Excelu. Jeśli nie są potrzebne, usuń je. Jeśli są potrzebne, pokaż je”. Muszę się z tym nie zgodzić. Ukryte dane / pola to problem. Ale usuwanie kolumn danych może stać się nieodwracalnym procesem za pomocą arkuszy kalkulacyjnych. Jeśli pamięć aplikacji nie stanowi dużego problemu, radzę przechowywać kolumny, ponieważ ukrywanie / filtrowanie przed nimi jest niezwykle łatwe. Zwłaszcza w porównaniu do usuwania cofania.
Dan Nguyen
7

Po pierwsze, zwykle to ja otrzymuję dane. Może to brzmieć jak moja lista życzeń.

  • Dlatego najważniejsze jest: porozmawiaj z tym, który zamierza przeanalizować dane.

  • Rzuciłem okiem na papier: wiele z tego, co pisze Hadley, można streścić poprzez „znormalizowanie relacyjnej bazy danych”.

  • Ale wspomina również, że w zależności od tego, co się faktycznie dzieje, rozsądne może być posiadanie tej samej zmiennej w postaci długiej lub szerokiej.

    Iλλiλiλi

  • Istnieją jednak pewne praktyczne zalety nienormalizowanego wyświetlania / dystrybucji danych:

    • O wiele łatwiej jest sprawdzić, czy dane są kompletne .

    • Połączone tabele jak w znormalizowanej relacyjnej bazie danych są OK, jeśli dane faktycznie znajdują się w bazie danych (w sensie programowym). Tam możesz wprowadzić ograniczenia zapewniające kompletność. Jeśli dane są wymieniane w postaci kilku tabel, w praktyce łącza będą bałaganem.

    • Normalizacja bazy danych usuwa redundancję. W prawdziwym życiu laboratoryjnym nadmiarowość służy do podwójnego sprawdzania integralności.
      Dlatego zbędne informacje nie powinny być usuwane zbyt wcześnie.

    • Rozmiar pamięci / dysku wydaje się obecnie mniejszym problemem. Ale rośnie również ilość danych, które wytwarzają nasze instrumenty.

      Pracuję z instrumentem, który może z łatwością wytworzyć 250 GB wysokiej jakości danych w ciągu kilku godzin. Te 250 GB ma format macierzy. Rozwinięcie go do postaci długiej spowoduje wysadzenie go w powietrze co najmniej 4 razy: każdy z wymiarów tablicy (boczne xiy oraz długość fali λ) stanie się kolumną plus jedna kolumna dla intensywności). Ponadto, moim pierwszym krokiem podczas analizy danych byłoby przerzucenie znormalizowanych danych o długiej formie z powrotem do postaci o szerokim spektrum.

    • Zazwyczaj analiza danych będzie wymagać określonej formy. Dlatego radzę porozmawiać z tym, który przeanalizuje dane.
  • Prace porządkowe omawiane przez te punkty normalizacyjne są uciążliwe i niezbyt przyjemne. Jednak w praktyce zwykle spędzam znacznie więcej czasu na innych aspektach sprzątania

    • Zapewnienie integralności i kompletności danych w praktyce stanowi dużą część mojej pracy związanej z porządkowaniem danych.

    • Dane nie są w łatwo czytelnym formacie / przełączają się między nieco innymi formatami:

      Otrzymuję dużo danych w postaci wielu plików i zwykle niektóre informacje są przechowywane w nazwie pliku i / lub ścieżce: oprogramowanie urządzenia i / lub utworzone formaty plików nie pozwalają na spójne dodawanie informacji, więc mieć dodatkową tabelę (jak w relacyjnej bazie danych), która łączy meta informacje z nazwą pliku lub nazwa pliku koduje ważne informacje.

      Literówki lub niewielkie zmiany w strukturze nazw plików powodują tutaj wiele problemów.

    • Sprzątanie z punktu widzenia pomiaru: pozbycie się fałszywych pomiarów (zwykle spowodowanych znanymi procesami fizycznymi, takimi jak przypadkowe włączenie światła, promienie kosmiczne uderzające w detektor, przesunięcia kadru kamery, ...).
cbeleites niezadowoleni z SX
źródło
2
+1 za pierwszy punkt. To nie tylko dobra rada w zakresie rejestrowania i przesyłania danych, ale idealnie powinna dać informację zwrotną dotyczącą eksperymentalnego projektu lub monitorowania.
Roland