刚刚拿到医学研究数据,就像是从菜市场买回来的做菜的原材料。因此菜头要切走、烂叶子要拣出来,鱼鳞要刮掉......虽然这些都是零碎复杂的操作,但却是做出一顿美味佳肴的必经之路。而数据的预处理则具有同样的意义。
为什么需要预处理?
首先便是数据的专业性非常强。虽然说都是来自于医学界,但是不同研究领域,或者说不同科室间医生的研究数据的专业含义就有非常多的区别。有些医生用的是这个量表,有些则是其他评分方法,而对于这些不同的研究工具,其专业解释就显得麻烦的多了。但是不管如何解释,最终我们都可以转化成数据的格式,用数据来说话,用数据来解释的。
其次,一般的临床医学、流行病学研究的数据量并不多,相比于其他行业,医学研究数据显得较为小巧一点(当然生物信息学的发展以及很多移动医疗产品,催生了医疗大数据的发展,基因、蛋白以及日常监测数据可以以ET计算)。而对于一般研究而言,样本量和变量都不多的情况,便让临床工作繁忙的医生有更多可能去掌握他们的数据处理和分析的技术了。
第三,未经过处理的Rawdata,可以非常混乱,结构不完整,甚至还有数据录入错误等低级的错误发生。这些错误都会对日后的分析工作产生严重影响。
接着,先了解一下数据整理与分析流程:
在确定好研究目的,通俗点讲,就是课题已经申请下来了后,接下来的工作就是按照研究计划收集数据,再之后就是对收集到的数据进行整理、组织。最后就是分析与撰写结果报告了。
数据预处理的一般工作包括如下几个方面:明确数据分析的目标、数据的分布状态、数据清洗、数据变换、数据精简。
数据预处理的最重要的目的就是为了提高数据的质量。而我们通过以下几个方面去评价数据的质量:数据的完整性,就是指数据是否有缺失的情况;数据的合理性,就是指数据是否在合理正常的范围内;数据的一致性,就是指数据前后的逻辑关系是否合理。而对于这些存在各种质量问题的数据,我们亦称为脏数据。
不同的质量问题有不同的处理方法,而是否能够解决这些问题,对研究来说至关重要。因为你很难从一份质量很差的数据得到任何有说服力的结果。
对于一份Raw data,在简单了解研究的背景后,首先去了解数据的分布状况,包括数据的样本数(case),变量数,并且了解各个变量的均值、中位数、众数、缺失数等等。这些通过不同的软件都能达到,而用SPSS软件的方法便是其中之一,这些统计描述的指标,在SPSS软件中只需要通过pointand click的方法便可以生成一份结果。
这些指标的计算将有助于对数据的进一步认识,了解其集中趋势和离散程度。比如通过最大最小值,你可以判断出,该变量是否有异常值,而在统计分析前发现这些异常值,将有助于你去寻找这些异常的case,重新检查数据。
数据的分布状况
①均值、②中值、③众数、④全距、⑤四分位数、⑥标准差、⑦缺失数
其他的都好理解,重点说下4和5。
数据清洗
数据清理就是指发现并纠正数据中可以识别的错误,包括检查数据的一致性、处理无效、缺失、重复值。而缺失值则是一个很常见的问题,在一些队列研究的随访记录,往往很难保证数据百分之一百的完成,因此缺失值的处理是一门艺术。限于篇幅,今天就先不展开。
数据一致性可以有不同理解,例如数据有两个变量,分别记录了研究对象的出生日期和年龄,这两个变量似乎是一样的,但是还是有细微的区别,例如,知道出生日期,不论什么时候用到这个变量,都可以很轻松的根据当前日期计算该对象的年龄,可以精确到日,而年龄则多数为收集信息时就定下来的,倒不是说年龄这个变量没有用,只是有些时候,这个变量更直接一点,对于临床医生也更容易掌握。但是如果这两者无法对应,则至少有一个是错误的。
数据变换
数据变换则是在完成数据清理之后的过程。所谓数据变换就是指原数据不能满足各方面的要求,将数据从一种形式变为另一种的过程。转换类型有分类型-数值型,数值型-分类型,例如,将日期转化为当前年龄、各种量表的计分、评分(格拉斯哥昏迷评分法、SCL90抑郁量表等)。
一般我们在录入数据的时候,就是根据量表、问卷、病历来录入,有时候这些总分或者计分在原始的记录表格中可能会没有,所以在数据分析前,需要把这些衍生变量计算出来。还有一些数据类型的转换,如在做决策树分析的时候,一般需要用分类型的变量,但是如果需要研究的变量是一个数值型变量,可能就需要考虑专业意义,得到几个数据的截点,把他转化成一个分类变量。
数据精简
数据精简的含义主要包括两个方面,一是从样本数精简,二是从变量上精简。样本数精简可以理解成保留一些数据质量较好的样本,而剔除质量欠佳的,或者选择更加平衡的子样本。
变量精简则是根据研究目的来筛选一些需要用于分析或者更有利于分析的变量,剔除一些无关的变量。通过数据精简能使你的数据库更加小巧,更利于临床医生去控制。
,