我强调了已经给出的所有答案,但让我们称猫为猫:在许多工作场所,几乎不可能说服管理层对“异国情调”软件工具(对他们来说是异国情调)进行投资是必要的,更不用说雇用可以设置的人了它起来并维护它。我告诉过很多客户,他们会从聘请一位对软件和数据库具有全面背景的统计学家中受益匪浅,但普遍的回答是“不能做”。
因此,只要不会发生这种情况,您就可以使用 Excel 做一些简单的事情,让生活更轻松。首先毫无疑问是版本控制。可以在此处找到有关使用 Excel 进行版本控制的更多信息。
关于使用excel的一些事情
使用 EXCEL 的人非常喜欢 EXCEL 的公式功能。然而,就我的经验而言,这是 EXCEL 表格中最重要的错误来源,也是尝试读取 EXCEL 文件时出现的问题。我拒绝使用包含公式的表格。
我还强迫与我一起工作的每个人都以普通格式提供 EXCEL 表格,这意味着:
- 第一行包含不同变量的名称
- 电子表格从单元格 A1 开始
- 所有数据都放在列中,没有中断,也没有格式化。
- 如果可能,数据也会以 .csv 格式保存。编写一个 VBA 脚本来提取数据、重新格式化并将其放入 .csv 文件中并不难。这也允许更好的版本控制,因为您可以每天对数据进行 .csv 转储。
如果数据始终具有一般结构,那么最好开发一个带有底层 VB 宏的模板来添加数据并生成数据集以供分析。这通常会避免每个员工都想出自己的“天才”数据存储系统,并且它允许您编写代码来实现此功能。
这就是说,如果您可以说服所有人使用 SQL(以及用于输入数据的前端),您可以将 R 直接链接到那个。这将大大提高性能。
数据结构与管理
作为一般规则,存储在数据库(或 EXCEL 表,如果他们坚持的话)中的数据应该是绝对最小值,这意味着可以从其他一些变量计算的任何变量都不应该包含在数据库中。请注意,如果计算繁琐且需要很长时间,有时存储这些派生或转换的变量也是有益的。但是这些应该存储在一个单独的数据库中,如有必要,可以链接到原始数据库。
还应考虑被视为一种情况(因此是一行)的情况。例如,人们倾向于通过为每个时间点创建一个新变量来生成时间序列。虽然这在 EXCEL 中是有意义的,但读取这些数据需要对数据矩阵进行相当多的翻转。比较组也一样:应该有一个组指标和一个响应变量,而不是每个组的响应变量。这样数据结构也可以标准化。
我经常遇到的最后一件事是使用不同的指标。长度以米或厘米为单位,温度以摄氏度、开尔文或华氏度为单位,......人们应该在任何前端或任何模板中指出测量变量的单位是什么。
即使在所有这些事情之后,您仍然希望在实际开始分析之前有一个数据控制步骤。同样,这可以是每天(例如通宵)在新条目上运行的任何脚本,并且可以立即标记问题(超出范围、错误类型、缺少字段……),以便可以尽快更正它们。如果您必须返回 2 个月前创建的条目以找出问题所在以及原因,您最好获得一些好的“Sherlock 技能”来纠正它。
我的 2 美分