Práticas recomendadas para criar 'dados organizados'

12

Hadley Wickham escreveu um artigo estelar chamado "Tidy Data" ( link ) no JSS no ano passado sobre manipulação de dados e obtenção dos dados em uma condição "ideal" para realizar a análise. No entanto, eu estava pensando quais seriam as melhores práticas em termos de apresentação de dados tabulares em um ambiente de trabalho? Digamos que seu colega de trabalho solicite que você forneça alguns dados. Quais são algumas regras gerais que você usa ao estruturar esses dados? As diretrizes em "Dados organizados" são igualmente aplicáveis ​​nos casos em que você compartilha dados com profissionais que não são de dados? Obviamente, isso é muito específico ao contexto, mas estou perguntando sobre as "melhores práticas" de alto nível.

amathew
fonte
Este artigo ainda não foi publicado no Journal of Statistical Software.
Nick Cox
3
A tag R parece desnecessária aqui. A questão transcende opções de software específicas.
Nick Cox

Respostas:

10

Como se pode esperar de Hadley, o artigo dele contém uma boa definição de dados organizados e eu concordo com quase tudo no artigo dele e acredito que isso não é válido apenas para "profissionais de dados". No entanto, alguns dos pontos que ele destaca são relativamente fáceis de corrigir (por exemplo, com pacotes que ele criou), se alguns problemas mais fundamentais forem evitados. A maioria desses problemas é resultado do amplo uso do Excel. O Excel é uma ferramenta valiosa e tem seus méritos, mas algumas de suas instalações resultam em problemas para os analistas de dados.

Alguns pontos (das minhas experiências):

  1. Algumas pessoas gostam de planilhas coloridas e fazem uso abundante das opções de formatação. Tudo bem, se isso os ajudar a organizar seus dados e preparar tabelas para apresentação. No entanto, é perigoso se uma cor de célula realmente codificar dados. É fácil perder esses dados e muito difícil importá-los para o software estatístico (por exemplo, consulte esta pergunta no Stack Overflow).
  2. Às vezes, recebo alguns dados bem formatados (depois de dizer às pessoas como prepará-los), mas, apesar de pedir que usem uma coluna dedicada ou um arquivo separado para comentários, eles decidem colocar um comentário em uma coluna de valor. Não apenas preciso lidar com essa coluna de uma maneira especial ao importar os dados, mas o principal problema é que eu precisaria rolar por toda a tabela para ver esses comentários (o que normalmente não faria). Isso fica ainda pior se eles usarem os recursos de comentários do Excel.
  3. Planilhas com várias tabelas, várias linhas de cabeçalho ou células conectadas resultam em trabalho manual para prepará-las para importação em software estatístico. Os bons analistas de dados geralmente não gostam desse tipo de trabalho manual.
  4. Nunca, jamais oculte colunas no Excel. Se eles não forem necessários, exclua-os. Se necessário, mostre-os.
  5. O xls e seus descendentes não são formatos de arquivo adequados para trocar dados com outras pessoas ou arquivá-los. As fórmulas são atualizadas quando o arquivo é aberto e diferentes versões do Excel podem manipular os arquivos de maneira diferente. Em vez disso, recomendo um arquivo CSV simples, pois quase todos os softwares relacionados a dados podem importar isso (até o Excel) e pode-se esperar que isso não mude em breve. No entanto, esteja ciente de que o Excel arredonda para dígitos visíveis ao salvar em um CSV (descartando a precisão).
  6. Se você deseja facilitar a vida de outras pessoas, siga os princípios dados no artigo de Hadley. Tenha uma coluna de valor para cada coluna de variável e fator que define os estratos.

Provavelmente existem vários pontos adicionais que não me vieram à mente.

Roland
fonte
1
"Nunca, jamais oculte colunas no Excel. Se elas não forem necessárias, exclua-as. Se forem necessárias, mostre-as." Tenho de discordar com isso. Dados / campos ocultos são um problema. Mas excluir colunas de dados pode se tornar um processo irreversível com planilhas. A menos que a memória do aplicativo seja uma grande preocupação, aconselho manter as colunas, pois é extremamente fácil ocultar / filtrar contra elas. Especialmente comparado com a reversão da exclusão.
Dan Nguyen
7

Em primeiro lugar, geralmente sou eu quem obtém os dados. Portanto, isso pode ser lido como minha lista de desejos.

  • Meu ponto mais importante é, portanto: fale com quem vai analisar os dados.

  • Tive uma rápida olhada no artigo: muito do que Hadley escreve poderia ser resumido por "normalizar sua base de dados relacional".

  • Mas ele também menciona que, dependendo do que realmente está acontecendo, pode ser sensato ter a mesma variável em forma longa ou ampla.

    Iλ i λ i λ iλλiλiλi

  • No entanto, existem algumas vantagens práticas na exibição / distribuição não normalizada dos dados:

    • Pode ser muito mais fácil verificar se os dados estão completos .

    • As tabelas conectadas, como em um banco de dados relacional normalizado, serão válidas se os dados realmente estiverem em um banco de dados (no sentido do software). Lá, você pode colocar restrições que garantam a integridade. Se os dados forem trocados na forma de várias tabelas, na prática os links serão uma bagunça.

    • A normalização do banco de dados remove redundâncias. Na vida real do laboratório, as redundâncias são usadas para verificar a integridade.
      Portanto, informações redundantes não devem ser removidas muito cedo.

    • Atualmente, o tamanho da memória / disco parece ser menos problemático. Mas também a quantidade de dados que nossos instrumentos produzem aumenta.

      Estou trabalhando com um instrumento que pode produzir facilmente 250 GB de dados de alta qualidade em poucas horas. Esses 250 GB estão em um formato de matriz. Expandir isso para a forma longa explodiria por um fator de pelo menos 4: cada uma das dimensões da matriz (lateral xey, e comprimento de onda λ) se tornará uma coluna, mais uma coluna para a intensidade). Além disso, meu primeiro passo durante a análise de dados seria, normalmente, converter os dados normalizados do formulário longo de volta no formulário espectral.

    • Geralmente, a análise dos dados precisará de um formulário específico. É por isso que aconselho a conversar com quem analisará os dados.
  • O trabalho de arrumação abordado por esses pontos de normalização é tedioso e não é um bom trabalho. No entanto, na prática, geralmente passo muito mais tempo em outros aspectos da arrumação

    • Garantir a integridade e a integridade dos dados na prática é uma grande parte do meu trabalho de arrumar dados.

    • Os dados não estão em um formato de fácil leitura / alternam entre formatos ligeiramente diferentes:

      Recebo muitos dados na forma de muitos arquivos e, geralmente, algumas informações são armazenadas no nome e / ou no caminho do arquivo: o software do instrumento e / ou os formatos de arquivo produzidos não permitem adicionar informações de maneira consistente; portanto, ou possui uma tabela adicional (como em um banco de dados relacional) que vincula as meta informações a um nome de arquivo ou o nome do arquivo codifica informações importantes.

      Erros de digitação ou pequenas alterações no padrão dos nomes dos arquivos causam muitos problemas aqui.

    • Organização do ponto de vista da medição: livrar-se de medições falsas (geralmente causadas por processos físicos conhecidos, como alguém acidentalmente acendendo a luz, raios cósmicos atingindo o detector, mudanças de quadro da câmera, ...).
cbeleites descontentes com o SX
fonte
2
+1 para o seu primeiro ponto. Isso não é apenas um bom conselho para gravação e transferência de dados, mas, idealmente, deve resultar em feedback sobre o design ou monitoramento experimental.
Roland