Best practice per la creazione di "dati ordinati"


12

Hadley Wickham ha scritto un articolo stellare chiamato "Tidy Data" ( link ) in JSS lo scorso anno sulla manipolazione dei dati e riportando i dati in una condizione "ottimale" per eseguire analisi. Tuttavia, mi chiedevo quali fossero le migliori pratiche in termini di presentazione di dati tabulari in un ambiente di lavoro? Supponiamo che il tuo collega ti chieda di fornirgli alcuni dati. Quali sono alcune regole generali che usi per strutturare quei dati? Le linee guida in "Dati ordinati" sono applicabili anche nei casi in cui si condividono dati con professionisti non di dati? Ovviamente, questo è molto specifico per il contesto, ma sto chiedendo "best practice" di alto livello.


Questo documento non è stato pubblicato (ancora) su Journal of Statistical Software.
Nick Cox,

3
Il tag R sembra non necessario qui. La domanda trascende particolari scelte software.
Nick Cox,

Risposte:


10

Come ci si può aspettare da Hadley, il suo articolo contiene una buona definizione di dati ordinati e sono d'accordo con quasi tutto nel suo articolo e credo che non sia valido solo per i "professionisti dei dati". Tuttavia, alcuni dei punti che sottolinea sono relativamente facili da risolvere (ad esempio, con i pacchetti che ha creato) se si evitano alcuni problemi fondamentali. La maggior parte di questi problemi è il risultato dell'uso diffuso di Excel. Excel è uno strumento prezioso e ha i suoi meriti, ma alcune delle sue strutture comportano problemi per gli analisti di dati.

Alcuni punti (dalle mie esperienze):

  1. Ad alcune persone piacciono i fogli di calcolo colorati e fanno un uso abbondante delle opzioni di formattazione. Va tutto bene, se li aiuta a organizzare i propri dati e preparare le tabelle per la presentazione. Tuttavia, è pericoloso se un colore di cella codifica effettivamente i dati. È facile perdere questi dati ed è molto difficile importarli nel software statistico (ad esempio, vedi questa domanda su StackTranslate.it).
  2. A volte ricevo alcuni dati ben formattati (dopo che ho detto alle persone come prepararli), ma nonostante abbiano chiesto loro di utilizzare una colonna dedicata o un file separato per i commenti, decidono di inserire un commento in una colonna di valore. Non solo devo occuparmi di questa colonna in un modo speciale durante l'importazione dei dati, ma il problema principale è che dovrei scorrere tutta la tabella per vedere tali commenti (cosa che di solito non farei). Questo peggiora anche se usano le funzionalità di commento di Excel.
  3. I fogli di calcolo con diverse tabelle, più righe di intestazione o celle collegate comportano un lavoro manuale per prepararli all'importazione in software statistico. I bravi analisti di dati di solito non apprezzano questo tipo di lavoro manuale.
  4. Mai e poi mai nascondere le colonne in Excel. Se non sono necessari, eliminali. Se sono necessari, mostrali.
  5. xls e i suoi discendenti non sono formati di file adatti per lo scambio di dati con altri o l'archiviazione. Le formule vengono aggiornate all'apertura del file e diverse versioni di Excel potrebbero gestire i file in modo diverso. Consiglio invece un semplice file CSV, poiché quasi tutti i software relativi ai dati possono importarlo (anche Excel) e ci si può aspettare che non cambierà presto. Tuttavia, tenere presente che Excel viene arrotondato a cifre visibili quando si salva su un CSV (eliminando così la precisione).
  6. Se vuoi rendere la vita facile agli altri, aderisci ai principi indicati nell'articolo di Hadley. Avere una colonna valore per ogni variabile e colonne fattore che definiscono gli strati.

Probabilmente ci sono molti altri punti che non mi sono venuti in mente.


1
"Mai e poi mai nascondere le colonne in Excel. Se non sono necessarie, eliminale. Se sono necessarie, mostrale." Non sono d'accordo con questo. I dati / campi nascosti rappresentano un problema. Ma l'eliminazione delle colonne di dati può diventare un processo irreversibile con i fogli di calcolo. A meno che la memoria dell'applicazione non sia un grosso problema, consiglio di mantenere le colonne perché nasconderle / filtrarle è estremamente semplice. Soprattutto rispetto alla cancellazione inversa.
Dan Nguyen,

7

Innanzitutto, di solito sono quello che ottiene i dati. Quindi questa potrebbe essere la mia lista dei desideri.

  • Il mio punto più importante è quindi: parlare con chi analizzerà i dati.

  • Ho avuto una rapida occhiata al foglio: molte delle cose che Hadley scrive potrebbero essere riassunte "normalizzare la base di dati relazionali".

  • Ma menziona anche che a seconda di ciò che sta realmente accadendo, può essere sensato avere la stessa variabile in forma lunga o ampia.

    Ecco un esempio: mi occupo di spettri. Da un punto di vista fisico / spettroscopico, lo spettro è ad esempio un'intensità in funzione della lunghezza onda : I = f (λ). Per ragioni fisiche, questa funzione è continua (e continuamente differenziabile). Una discretizzazione per particolari s si verifica solo per ragioni pratiche (ad es. Computer digitali, strumenti di misura). Ciò indicherebbe chiaramente una forma lunga. Tuttavia, il mio strumento misura il diverso in canali diversi (di una linea o matrice CCD / detector). L'analisi dei dati considera anche ogni come una variabile. Ciò sarebbe a favore dell'ampia forma.Iλλiλiλi

  • Tuttavia, ci sono alcuni vantaggi pratici nella visualizzazione / distribuzione non normalizzata dei dati:

    • Potrebbe essere molto più semplice verificare che i dati siano completi .

    • Le tabelle connesse come in una base dati relazionale normalizzata sono OK se i dati si trovano effettivamente in una base dati (nel senso del software). Lì puoi inserire vincoli che assicurano completezza. Se i dati vengono scambiati sotto forma di più tabelle, in pratica i collegamenti saranno un disastro.

    • La normalizzazione della base di dati rimuove le ridondanze. Nella vita di laboratorio reale, i licenziamenti vengono utilizzati per ricontrollare l'integrità.
      Pertanto, le informazioni ridondanti non devono essere rimosse troppo presto.

    • Al giorno d'oggi la dimensione della memoria / del disco sembra essere meno problematica. Ma aumenta anche la quantità di dati prodotti dai nostri strumenti.

      Sto lavorando con uno strumento in grado di produrre facilmente 250 GB di dati di alta qualità in poche ore. Quei 250 GB sono in un formato array. Espandendolo a una forma lunga lo farebbe saltare in aria di un fattore di almeno 4: ognuna delle dimensioni dell'array (laterale xey, e lunghezza d'onda λ) diventerà una colonna, più una colonna per l'intensità). Inoltre, il mio primo passo durante l'analisi dei dati sarebbe in genere di ricondurre i dati normalizzati di forma lunga in una forma a tutto spettro.

    • Di solito, l'analisi dei dati avrà bisogno di un modulo particolare. Ecco perché consiglio di parlare con chi analizzerà i dati.
  • Il lavoro di riordino che viene affrontato da questi punti di normalizzazione è noioso e non è un buon lavoro. Tuttavia, in pratica di solito passo molto più tempo su altri aspetti della riordino

    • Garantire l'integrità e la completezza dei dati nella pratica è una grande parte del mio lavoro di riordino dei dati.

    • I dati non sono in un formato facilmente leggibile / il passaggio tra formati leggermente diversi:

      Ricevo molti dati sotto forma di molti file e di solito alcune informazioni sono memorizzate nel nome e / o nel percorso del file: il software dello strumento e / o i formati di file prodotti non consentono di aggiungere informazioni in modo coerente, quindi noi avere una tabella aggiuntiva (come in una base dati relazionale) che collega le meta informazioni a un nome file o il nome file codifica informazioni importanti.

      Errori di battitura o lievi modifiche al modello dei nomi dei file causano molti problemi qui.

    • Riordino da un punto di vista della misurazione: eliminazione di false misurazioni (di solito causate da processi fisici noti come qualcuno che accende accidentalmente la luce, raggi cosmici che colpiscono il rivelatore, spostamenti della cornice della videocamera, ...).

2
+1 per il tuo primo punto. Questo non è solo un buon consiglio per la registrazione e il trasferimento dei dati, ma idealmente dovrebbe tradursi in feedback riguardanti la progettazione o il monitoraggio sperimentale.
Roland
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.