Share:如何与统计学家共享数据

发布时间:2023-03-16 阅读 301

Stata连享会   主页 || 视频 || 推文 || 知乎 || Bilibili 站

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc, ihelp, rdbalance, gitee, installpkg

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

PDF下载 - 推文合集

作者:毕英睿 (中央财经大学)
E-Mail: judybi2017@163.com

Source: How to share data with a statistician


目录


1. 如何与统计学家共享数据

目标群体

  • 需要统计学家或数据科学家为其分析数据的合作者
  • 寻求咨询建议的研究生或博士后
  • 正在学习整理数据的统计学专业本科生

总之,我们可能需要与统计学家共享数据。本文能够提供一些关于如何共享数据的建议,从而避免从数据收集到数据分析过程中最常见的问题。

统计学家能够处理任何形式的数据。但获取原始数据、了解数据处理步骤以及在数据分析中纳入隐藏的可变性来源才是最重要的。许多数据类型的处理步骤都能够以完整文档记录和标准化的形式呈现。因此,在与统计学家共享数据之前,我们应该完成所有的预处理步骤,保证数据能够从原始形式执行到(统计学家)可分析的形式,可以大大缩短整个项目的推进时长。

2. 我们应该向统计学家提供什么

  • 原始数据
  • 整齐数据集(tidy data set
  • 描述整齐数据集中每个变量及取值的代码手册(code book)
  • 从第一步到最后一步的精确步骤

接下来我们逐个分析需要传输的数据包(data package)需要哪些部分。

2.1 原始数据(The raw data)

原始数据能够确保在整个工作流程中维护数据来源的可行性。以下是原始数据形式的一些示例:

  • 测量机生成的奇怪的二进制文件(binary file
  • 甲方发来的包含 10 个工作表的没有格式化的 Excel 文件
  • Twitter API 爬取的复杂JSON数据
  • 我们通过显微镜观察收集并手动输入的数据

如果数据符合以下条件,那么原始数据的格式是正确的:

  • 未对数据运行任何软件
  • 未修改任何数据值
  • 未删除数据集的任何数据
  • 没有以任何方式对数据进行汇总(summarize)

将修改后的数据报告为原始数据将会大大延长分析过程,因为统计学家需要对数据进行取证研究,否则很难找出原始数据看起来奇怪的原因。

2.2 整齐数据集(The tidy data set)

整齐数据集原则:

  1. 每个变量单独一列。
  2. 每个变量的不同观测值单独一行。
  3. 每种类型的变量都有对应的表。
  4. 如果存在多个表,那么多个表中都应包括一列(相同列),使这些表能够被联接(joinby)或合并(merge)。

除此之外,还有一些规则使得使得数据集处理更容易。例如,在每个数据表的第一行输入完整清晰的变量名。举例来说,患者就诊时的年龄变量,应该用清晰的名称而不是难以理解的缩写 AgeAtDiagnosisADx 或者 ADx

下面本文介绍一个基因组学的案例,并借此说明如何处理数据集。假设我们已经用RNA测序(RNA-sequencing)收集了20位患者的基因表达测量值,以及患者的年龄和临床信息,如治疗和诊断结果。我们目前统计信息的表格中,有4列(患者 ID、年龄、治疗、诊断)和 21 行(第1行是变量名称,其余行为20位患者的信息)。

我们还拥有一个汇总基因组数据的表格。通常基因组数据在每个外显子的计数水平上进行汇总。假设我们有100,000个外显子,那么我们将有一个包含 21 行(基因名称占1行,每个患者信息各占1行)和 100,001 列(患者ID占1列,每种数据类型占1列)的表格。

如果要在 Excel(或者 CSV 或制表符分隔TAB-delimited的文本文件) 中与合作者共享数据,那么每个excel文档应该只有一个表而不是多个工作表,不应将宏应用于数据,并且不应突出显示任何列或者单元格。请注意将 CSV 文件读入 Excel 有时会导致日期和时间变量的复制错误。

2.3 代码手册(The code book)

对于任何数据集,表格应当详细描述如何计算测量结果。代码手册至少应当包含:

  1. 有关数据集中未包含在整齐数据中的变量信息(包括单位)
  2. 有关汇总选择(summary choice)的信息
  3. 有关研究设计的信息

在我们的基因组学示例中,统计学家需要了解每个统计信息的测量单位是什么,例如以年位单位(年龄)、(按名称或剂量分类)实验组、关于诊断结果的水平以及多少程度上的异质性。统计学家需要了解如何选择用于汇总基因组数据的外显子(UCSC、Ensembl等)。

统计学家还需要了解关于如何进行数据收集和研究设计的其他信息。例如,这些患者是走进诊所的前20名患者吗?他们是根据年龄等特征高度选择的20名患者吗?这些患者是否随机接受治疗?

上述文档的常见格式是 Word文件。在该文件中,“研究设计”部分详细描述了数据收集过程,“代码手册”的部分描述了每个变量及其单位。

2.4 如何对变量进行编码

变量的数据类型(data type)可能包括以下几类:

  1. 连续变量 连续变量是定量性质的变量,可以是任何小数。例如以公斤为单位的重量。

  2. 有序变量
    有序变量(Ordinal data)是存在固定的少量 (<100) 类别且有次序的数据。例如,选择类型:差、一般、好。

  3. 分类变量 分类变量(Categorical data)是存在多个类别但无序的数据。例如性别:男性或女性。

  4. 缺失数据 缺失数据(Missing data)是未观察到的数据,且不知道其机制。应将缺失值编码为NA

  5. 删失数据
    删失变量(Censored data)是在某种程度上知道缺失机制的数据。常见的例子是测量值低于检测下限或患者失去随访。删失变量也应该像缺失数据时一样编码NA。我们还应该在整齐数据集中添加一个名为“VariableNameCensored” 的新列,如果存在删失,该列的值应为TRUE,否则为FALSE。在代码手册中,我们应该解释为什么缺少这些值,向统计学家汇报数据删失的原因,并且不应该填补或者丢弃缺失的观察结果。

变量编码注意以下两点:

  • 尽量避免将分类变量或有序变量编码为数字。 当我们在整齐数据中输入性别值时,它应该是“男性”或“女性”。数据集中的有序变量值应为“差”、“一般”和“好”,而不是 1、2 、3。这将避免关于效果方向的潜在混淆,并有助于识别编码错误。

  • 使用文本对有关观察结果的每条信息进行编码。 例如,如果要将数据存储在 Excel 中,并使用彩色文本或单元格背景格式的形式来指示有关观测值的信息(“在实验 1 中观察到红色变量条目”),则当数据导出为原始文本时,此信息将不会导出并且会丢失。每条数据都应编码为可以导出的实际文本。

2.5 指令列表/脚本(The instruction list/script)

可重复性是计算科学中的重要问题。当我们提交论文时,审稿人和世界其他地方应该能够准确地复制从原始数据到最终结果的分析。如果我们想提高效率,我们可能会在数据被认为是整齐数据之前执行汇总或者数据分析步骤。

执行汇总时,理想的做法是创建一个计算机脚本(在R, Python或其他),该脚本将原始数据作为输入(input)并生成共享的整齐数据作为输出(output)。我们可以尝试运行脚本几次,看看代码是否产生相同的输出。

收集数据的人往往有动力保持数据整齐以加快与统计学家的协作过程。但是他们可能不知道如何使用脚本语言进行编码。在这种情况下,我们应该提供给统计学家伪代码(pseudocode)。它应该看起来像这样:

  1. 获取原始文件,在版本为3.1.2的汇总软件运行参数a = 3,b = 1,c = 2
  2. 为每个样本分别运行软件
  3. 在outputfile.out中为每个样本取第三列,这就是输出数据集(output data set)中相应的行。

我们还应该给出有关在哪个系统(Mac / Windows / Linux)上使用该软件以及是否多次尝试以确认它给出相同结果的信息。理想情况下,我们应该请求同学或者实验室伙伴再次运行此操作,并确认他们可以获得相同的输出结果。

3. 我们应该从统计学家那里得到什么

正确整理的数据集会大大减少统计学家的工作量。但大多数细心的统计学家会检查数据,询问我们此前执行的步骤,并试图确认他们可以获得相同的整齐数据。

我们期望统计学家提供以下文件:

  1. 执行每个分析的分析脚本(script)
  2. 用于运行分析的确切计算机代码
  3. 生成的所有输出文件或图形

这是我们用于确定结果的可重复性和精确性的信息。统计学家所提供的文件应当能够清楚地解释分析中的每个步骤,如果对哪个步骤存在疑惑,我们应该对此提出问题。了解统计分析是统计学家和学者的共同责任。如果没有统计学家的代码,我们可能无法执行精确的分析,但我们应该能够向实验室成员或研究员解释统计学家执行每个步骤的原因。

4. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh
安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,700+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxh 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh