创建“整理数据”的最佳做法


12

Hadley Wickham 去年在JSS中撰写了一篇名为“ Tidy Data”(链接)的恒星文章,内容涉及数据操纵和使数据处于“最佳”状态以便进行分析。但是,我想知道在工作环境中显示表格数据方面的最佳实践是什么?假设您的同事要您向他提供一些数据。在构造数据时使用哪些一般规则?“整理数据”中的准则是否适用于与非数据专业人员共享数据的情况?显然,这是非常特定于上下文的,但是我要问的是高层“最佳实践”。


该论文尚未在Journal of Statistics Software中发表(尚未出版)。
Nick Cox 2014年

3
R标签在这里似乎不必要。这个问题超越了特定的软件选择。
Nick Cox 2014年

Answers:


10

正如Hadley所期望的那样,他的文章对整洁的数据进行了很好的定义,我几乎同意他的文章中的所有内容,并认为这不仅对“数据专业人员”有效。但是,如果避免一些更基本的问题,他提出的一些观点相对容易解决(例如,使用他编写的软件包)。这些问题大多数是Excel广泛使用的结果。Excel是一个有价值的工具,它有其优点,但是它的某些功能给数据分析人员带来了麻烦。

一些要点(根据我的经验):

  1. 有些人喜欢彩色的电子表格,并大量使用了格式设置选项。如果这可以帮助他们整理数据并准备要展示的表,那么这很好。但是,如果单元格颜色实际编码数据是很危险的。丢失这些数据很容易,并且很难将这些数据导入统计软件(例如,在Stack Overflow上查看此问题)。
  2. 有时,我会得到一些格式良好的数据(在我告诉人们如何准备数据之后),但是尽管要求他们使用专用列或单独的文件进行注释,但他们还是决定在值列中添加注释。导入数据时,不仅需要以特殊的方式处理此列,而且主要的问题是我需要滚动浏览所有表才能看到此类注释(通常我不会这样做)。如果他们使用Excel的注释功能,情况将更加糟糕。
  3. 其中包含多个表格,多个标题行或连接的单元格的电子表格会导致手动工作,以准备将其导入统计软件。好的数据分析师通常不喜欢这种手工工作。
  4. 永远不要在Excel中隐藏列。如果不需要它们,请删除它们。如果需要它们,请显示它们。
  5. xls及其后代不是用于与他人交换数据或存档数据的合适文件格式。打开文件时公式会更新,并且不同的Excel版本可能会以不同的方式处理文件。我建议改用一个简单的CSV文件,因为几乎所有与数据相关的软件都可以导入该文件(甚至是Excel),并且预计不会很快改变。但是,请注意,将Excel保存为CSV时会四舍五入到可见数字(从而丢弃精度)。
  6. 如果您想让他人过得轻松,请遵守Hadley文章中给出的原则。每个定义层的变量和因子列都有一个值列。

我可能还没有想到其他几点。


1
“绝对不要在Excel中隐藏列。如果不需要,请删除它们。如果需要,请显示它们。” 我不同意这一点。隐藏的数据/字段是一个问题。但是,删除数据列可能成为电子表格不可逆转的过程。除非应用程序内存是一个大问题,否则我建议保留列,因为针对它们进行隐藏/过滤非常容易。特别是与反向删除相比。
阮丹(Dan Nguyen)'18年

7

首先,我通常是获取数据的人。因此,这可以作为我的愿望清单。

  • 因此,我最重要的一点是:与将要分析数据的人交谈。

  • 我快速浏览了一下这篇论文:Hadley撰写的许多文章都可以通过“规范化关系数据库”来总结。

  • 但他还提到,根据实际情况,以长或宽形式包含相同的变量是明智的。

    这是一个示例:我处理光谱。从物理/光谱的观点来看,光谱是例如强度作为波长函数:I = f(λ)。由于物理原因,此功能是连续的(并且可以连续微分)。仅出于实际原因(例如,数字计算机,测量仪器)才将特定的离散化。这显然指向长格式。但是,我的仪器在不同通道(CCD /检测器线或阵列)中测量不同的。数据分析还将每个视为变量。那将有利于广泛的形式。Iλλiλiλi

  • 但是,非标准化的数据显示/分发有一些实际的优点:

    • 检查数据是否完整可能要容易得多。

    • 如果数据实际上在数据库中(从软件的角度来看),则如规范化关系数据库中的连接表就可以。您可以在此处放置确保完整性的约束。如果以多个表的形式交换数据,则实际上,链接将是一团糟。

    • 数据库规范化消除了冗余。在实际的实验室生活中,冗余用于双重检查完整性。
      因此,不应过早删除冗余信息。

    • 如今,内存/磁盘大小似乎不再是一个问题。但是我们的仪器产生的数据量也在增加。

      我正在使用一种可以在几个小时内轻松产生250 GB高质量数据的仪器。那些250 GB为阵列格式。将其扩展为长形将使其爆炸至少4倍:每个阵列尺寸(横向x和y,以及波长λ)将变成一列,再加上一列强度。另外,我在数据分析过程中的第一步通常是将规范化的长格式数据转换回频谱范围内的格式。

    • 通常,数据分析将需要特定的形式。这就是为什么我建议与分析数据的人交谈。
  • 这些归一化点解决的整洁工作是乏味的,而不是一件好事。但是,实际上,我通常在整理的其他方面花费更多的时间

    • 在实践中确保数据的完整性和完整性是我整理数据工作的很大一部分。

    • 数据不是易读格式/在格式略有不同之间切换:

      我以许多文件的形式获取大量数据,通常一些信息存储在文件名和/或路径中:仪器软件和/或生成的文件格式不允许以一致的方式添加信息,因此我们或者具有一个将元信息链接到文件名的附加表(例如在关系数据库中),或者该文件名对重要信息进行编码。

      错别字或文件名模式的微小变化都会在这里引起很多麻烦。

    • 从测量的角度进行整理:消除错误的测量结果(通常是由已知的物理过程引起的,例如有人不小心打开了灯,宇宙射线击中了检测器,照相机的镜架偏移等)。

2
+1为您的第一点。这不仅是数据记录和传输的好建议,而且在理想情况下还应该获得有关实验设计或监控的反馈。
罗兰2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.