Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:毕英睿 (中央财经大学)
E-Mail: judybi2017@163.com
目录
目标群体:
总之,我们可能需要与统计学家共享数据。本文能够提供一些关于如何共享数据的建议,从而避免从数据收集到数据分析过程中最常见的问题。
统计学家能够处理任何形式的数据。但获取原始数据、了解数据处理步骤以及在数据分析中纳入隐藏的可变性来源才是最重要的。许多数据类型的处理步骤都能够以完整文档记录和标准化的形式呈现。因此,在与统计学家共享数据之前,我们应该完成所有的预处理步骤,保证数据能够从原始形式执行到(统计学家)可分析的形式,可以大大缩短整个项目的推进时长。
接下来我们逐个分析需要传输的数据包(data package)需要哪些部分。
原始数据能够确保在整个工作流程中维护数据来源的可行性。以下是原始数据形式的一些示例:
如果数据符合以下条件,那么原始数据的格式是正确的:
将修改后的数据报告为原始数据将会大大延长分析过程,因为统计学家需要对数据进行取证研究,否则很难找出原始数据看起来奇怪的原因。
整齐数据集原则:
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 有时会导致日期和时间变量的复制错误。
对于任何数据集,表格应当详细描述如何计算测量结果。代码手册至少应当包含:
在我们的基因组学示例中,统计学家需要了解每个统计信息的测量单位是什么,例如以年位单位(年龄)、(按名称或剂量分类)实验组、关于诊断结果的水平以及多少程度上的异质性。统计学家需要了解如何选择用于汇总基因组数据的外显子(UCSC、Ensembl等)。
统计学家还需要了解关于如何进行数据收集和研究设计的其他信息。例如,这些患者是走进诊所的前20名患者吗?他们是根据年龄等特征高度选择的20名患者吗?这些患者是否随机接受治疗?
上述文档的常见格式是 Word文件。在该文件中,“研究设计”部分详细描述了数据收集过程,“代码手册”的部分描述了每个变量及其单位。
变量的数据类型(data type)可能包括以下几类:
连续变量 连续变量是定量性质的变量,可以是任何小数。例如以公斤为单位的重量。
有序变量
有序变量(Ordinal data)是存在固定的少量 (<100) 类别且有次序的数据。例如,选择类型:差、一般、好。
分类变量 分类变量(Categorical data)是存在多个类别但无序的数据。例如性别:男性或女性。
缺失数据
缺失数据(Missing data)是未观察到的数据,且不知道其机制。应将缺失值编码为NA
。
删失数据
删失变量(Censored data)是在某种程度上知道缺失机制的数据。常见的例子是测量值低于检测下限或患者失去随访。删失变量也应该像缺失数据时一样编码NA
。我们还应该在整齐数据集中添加一个名为“VariableNameCensored” 的新列,如果存在删失,该列的值应为TRUE
,否则为FALSE
。在代码手册中,我们应该解释为什么缺少这些值,向统计学家汇报数据删失的原因,并且不应该填补或者丢弃缺失的观察结果。
变量编码注意以下两点:
尽量避免将分类变量或有序变量编码为数字。 当我们在整齐数据中输入性别值时,它应该是“男性”或“女性”。数据集中的有序变量值应为“差”、“一般”和“好”,而不是 1、2 、3。这将避免关于效果方向的潜在混淆,并有助于识别编码错误。
使用文本对有关观察结果的每条信息进行编码。 例如,如果要将数据存储在 Excel 中,并使用彩色文本或单元格背景格式的形式来指示有关观测值的信息(“在实验 1 中观察到红色变量条目”),则当数据导出为原始文本时,此信息将不会导出并且会丢失。每条数据都应编码为可以导出的实际文本。
可重复性是计算科学中的重要问题。当我们提交论文时,审稿人和世界其他地方应该能够准确地复制从原始数据到最终结果的分析。如果我们想提高效率,我们可能会在数据被认为是整齐数据之前执行汇总或者数据分析步骤。
执行汇总时,理想的做法是创建一个计算机脚本(在R
, Python
或其他),该脚本将原始数据作为输入(input)并生成共享的整齐数据作为输出(output)。我们可以尝试运行脚本几次,看看代码是否产生相同的输出。
收集数据的人往往有动力保持数据整齐以加快与统计学家的协作过程。但是他们可能不知道如何使用脚本语言进行编码。在这种情况下,我们应该提供给统计学家伪代码(pseudocode)。它应该看起来像这样:
我们还应该给出有关在哪个系统(Mac / Windows / Linux)上使用该软件以及是否多次尝试以确认它给出相同结果的信息。理想情况下,我们应该请求同学或者实验室伙伴再次运行此操作,并确认他们可以获得相同的输出结果。
正确整理的数据集会大大减少统计学家的工作量。但大多数细心的统计学家会检查数据,询问我们此前执行的步骤,并试图确认他们可以获得相同的整齐数据。
我们期望统计学家提供以下文件:
这是我们用于确定结果的可重复性和精确性的信息。统计学家所提供的文件应当能够清楚地解释分析中的每个步骤,如果对哪个步骤存在疑惑,我们应该对此提出问题。了解统计分析是统计学家和学者的共同责任。如果没有统计学家的代码,我们可能无法执行精确的分析,但我们应该能够向实验室成员或研究员解释统计学家执行每个步骤的原因。
Note:产生如下推文列表的 Stata 命令为:
lianxh
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh