
前两天有个朋友问我,他们在做一个国际合作项目,用的是一套在国外已经验证过的患者报告结局量表。现在需要把量表翻译成中文,同时还得把翻译后的数据导出来进行分析。说实话,这个问题看起来简单,但真要搞清楚里面的门道,还是需要花点心思的。
我自己之前也接触过不少类似的项目,今天就趁着这个机会,把电子量表翻译后数据导出的那些事儿一次性说清楚。文章可能会有些地方想到哪说到哪,力求还原最真实的工作场景。
说到数据导出,得先回到最基本的问题:电子量表到底是怎么存储数据的。
传统的纸质量表,填写完成后就是一张纸,数据需要人工录入电脑。而电子量表就不一样了,它本身就是数字化的,填写的过程其实就是数据生成的过程。每道题的答案、填写时间、甚至是答题轨迹,都会被系统记录下来。
那"数据导出"是什么呢?简单来说,就是把这些记录在系统里的数据,转换成可以进一步分析处理的格式。比如导出成Excel表格,这样可以用统计软件做分析;或者直接导出成统计软件能识别的格式,比如SPSS的sav文件。
很多人会忽略一个关键点:量表经过翻译之后,数据导出的方式可能需要调整。这是因为量表里的文字变了,但数据的编码体系、变量结构这些核心内容需要保持和国际版本一致。这一点特别重要,我后面会详细说。

在讨论数据导出之前,有必要先了解一下电子量表系统的几种常见类型。不同类型的系统,数据导出的逻辑和复杂度差异挺大的。
第一种是专业的电子数据采集系统,比如REDCap、Questback、Medidata Rave这些。这类系统功能强大,数据结构设计规范,导出选项通常也比较完善。在这类系统上做量表翻译,数据导出相对标准化,只要配置得当,基本不会出什么大问题。
第二种是通用的问卷调查平台,比如SurveyMonkey、问卷星、腾讯问卷等。这类平台主要是用来收集问卷数据的,虽然也支持量表类问卷,但专业性相对弱一些。导出功能基本是通用的,不太能区分"量表"和"普通问卷"的差异。如果量表比较复杂,可能需要额外的数据清洗工作。
第三种是定制开发的电子量表系统,有些研究机构或药企会自己开发系统,专门用来管理特定类型的量表。这类系统的数据导出完全取决于开发时的设计,有的做得很完善,有的可能只有简单的导出功能,甚至需要找技术人员帮忙写脚本才能拿到想要的数据格式。
了解系统类型的好处是,当你遇到数据导出的问题时,大概能判断是系统本身的功能限制,还是操作方法的问题。康茂峰在处理各类电子量表系统时积累了丰富经验,不管面对哪种系统,都能找到合适的解决方案。
数据导出格式的选择,看起来是个技术问题,其实更多是取决于后续的数据分析需求。不同格式有不同的特点,我来逐一说说。
| 格式 | 特点 | 适用场景 |
| Excel(.xlsx/.xls) | 通用性强,几乎所有电脑都能打开;可以直观看到数据;支持简单的数据处理和图表制作 | 初步数据检查、简单统计分析、与非专业人员共享 |
| CSV(.csv) | 纯文本格式,文件小;跨平台兼容性好;不会丢失数据格式 | 大规模数据交换、编程处理、数据库导入 |
| SPSS(.sav/.por) | 专业的统计软件格式;支持变量标签、值标签等元数据;统计分析功能强大 | 学术研究、复杂的统计分析、科研论文撰写 |
| Stata(.dta) | 另一个专业的统计软件格式;处理面板数据有优势;命令操作效率高 | 计量经济学分析、纵向研究数据分析 |
| SAS(.sas7bdat) | 医药行业常用的格式;处理大数据集能力强;临床试验数据分析首选 | 临床试验、制药行业研究、监管申报 |
这里我想特别提一下Excel格式。很多人觉得Excel不够"专业",但实际上在量表数据导出的初期阶段,Excel是最实用的格式。为什么呢?因为你可以直观地看到每一条记录、每一个值,方便检查翻译后的数据有没有问题。比如,量表里的选项是"1=完全没有,2=偶尔,3=有时,4=经常,5=总是",导出后检查一下有没有超出这个范围的值,这一步用Excel看最方便。
当然,如果你的分析要用到SPSS或者Stata,那直接导出成对应格式会省去后续导入的麻烦。需要注意的是,导出的文件最好保留完整的元数据,包括变量标签、值标签、测量尺度等。这些信息对于后续的数据分析和结果解读非常重要。
好,现在进入正题:量表翻译之后,数据导出有哪些特别需要注意的地方。
这是最重要的一点,没有之一。
假设原版量表第五题的选项是:1=Never, 2=Rarely, 3=Sometimes, 4=Often, 5=Always。翻译成中文后,选项变成了"1=从不,2=偶尔,3=有时,4=经常,5=总是"。这时候,数字编码绝对不能变。变的是选项的文字,不是编码。
有些电子系统支持多语言版本,翻译后会自动生成新的语言字段。这时候要特别留意:不同语言版本的同一道题,是不是用的同一套编码。如果系统设计不当,翻译后可能重新生成一套编码,比如中文版本用A、B、C、D、E,而英文版本用1、2、3、4、5,那就乱套了。
检查方法是随便导出几条记录,看看不同语言版本的同一道题,数字是不是完全一致。如果不一致,后续的所有分析都要重新做编码映射工作量会非常大。
变量名,就是每道题在数据表里的列名,比如Q1、Q2a、SCO1这样的。变量标签是对变量的说明,比如"过去一周内感到沮丧的频率"。
翻译之后,变量名通常不建议改变,因为变量名是数据的"身份证",很多分析脚本是根据变量名来识别变量的。改了变量名,原来写的分析程序就运行不了了。
但变量标签可以翻译成中文,这样方便中国团队查看和理解数据。比如原来变量标签是"How often did you feel depressed in the past week",翻译后可以写成"过去一周内感到沮丧的频率"。
有些系统在导出时可以选择是否包含变量标签,务必选择包含。一份完整的数据字典对于后续的数据管理太重要了。
很多量表有总分或者子量表分数的计算。比如一套焦虑量表可能有7道题,总分是7道题得分之和,子量表分数可能是其中4道题的得分之和。
翻译之后,这些计算逻辑要不要改?原则上不要改。计算公式是基于编码的,编码没变,公式就不需要变。但有一种情况要注意:有些量表的计分规则是"反向计分",比如第3题和第5题的选项是反向的,得分越高代表症状越轻。这时候要看翻译后的选项是不是保持了这种反向关系。
更稳妥的做法是,在正式导出数据之前,先导出一小部分样本,手动计算几份总分,和系统自动计算的总分对照一下,确认计算逻辑没有问题。
数据导出时,缺失值的表示方式需要关注。常见的缺失值表示有:空值、NA、-999、999、.(点号)等。不同的统计软件默认的缺失值表示可能不一样。
还有一种情况是"不适用"或"跳答"导致的缺失。比如第8题是"是否曾经流产",如果用户选择"否",那么第9题"流产时的孕周"就不应该被回答,这种情况下第9题应该记为缺失,而不是0或空。
导出前最好确认一下系统对缺失值的处理方式,导出后在数据字典里明确说明缺失值的编码规则。否则数据分析时可能会把不该算缺失的数据当作缺失处理,或者反过来。
说完了理论层面的注意事项,再聊聊实际操作中经常遇到的问题。这些都是实际工作中总结出来的经验,应该会对你有帮助。
这个问题太常见了。导出的Excel打开后,中文显示成一堆问号或者方块,大多数情况下是编码问题。
解决方法有几个层次。最简单的是用Excel的"数据-从文本/CSV"导入功能,在导入时选择合适的编码,通常是UTF-8或者GB2312。如果这样还不行,可以先把数据导出成CSV格式,然后用记事本打开,另存为时选择编码为UTF-8 BOM或者GBK,最后再用Excel打开。
康茂峰在处理多语言量表数据导出时,一般会建议客户在系统层面就做好编码配置,避免到导出这一步才发现乱码问题。毕竟,数据一旦乱码,检查和修复都很麻烦。
如果你的项目不止一个语言版本,比如有中文、英文、日文三个版本,那么数据导出和管理会复杂一些。
一种做法是每个语言版本单独导出,分开管理。这种方式简单,但不同版本之间的数据对比需要手动维护一个对照表。
另一种做法是导出成"长格式"的数据表,每一行记录包含:受访者ID、语言版本、各题得分等。这样不同语言的同一受访者的数据是连续的,便于对比分析。
还有一种做法是在导出时就加上语言标识字段,比如language="zh-CN"、language="en-US"这样,后续用Python或R处理的时候可以很方便地按语言筛选。
选择哪种方式,取决于你的分析需求。但不管选哪种,一定要有一个唯一标识符能够关联同一受访者在不同语言版本中的数据。很多项目到分析阶段才发现没办法把不同语言的数据关联起来,就是因为当初没有规划好标识符的生成规则。
有时候导出后发现数据条数不对,比预期少。这可能有几种原因。
第一种是系统设置了数据筛选条件,比如只导出完成作答的记录,或者只导出某个时间段的数据。这时候需要检查导出设置,把筛选条件取消或者调整。
第二种是存在重复记录。有些系统允许重复提交,如果不加控制,会导出多份同样的数据。这种情况需要在导出前做去重处理,或者在分析时根据时间戳取最新的记录。
第三种是数据分批存储的问题。有些系统会把数据分散存储在不同数据表或不同字段里,导出时没有完整包含所有部分。这种情况需要仔细阅读系统的数据字典,了解完整的数据结构。
建议的做法是:导出后先做一个基本的描述性统计,看看样本量、变量数是否符合预期。如果不符合,及时排查原因,不要等到做完整分析才发现数据不完整。
数据导出不是导出来就完事了,还要确保导出的数据质量没问题。这里有几个实用的检查方法。
第一,抽样检查。随机抽取几条记录,和原始问卷或者系统里的录入数据对照,确认导出数据准确无误。这个工作看起来原始,但非常有效。很多隐藏的错误都是通过这种方式发现的。
第二,逻辑校验。编写一些简单的逻辑检查规则,比如:年龄应该在合理范围内、选项得分不应该超过该题的最大值、跳答逻辑要正确(比如选择了"否"的题目后续不应该有回答)等。可以用Excel的条件格式,或者用Python/R写几行代码来做这个检查。
第三,缺失值分析。统计每道题的缺失率,看看有没有某些题目的缺失率特别高。缺失率异常高可能意味着题目理解困难、系统故障或者其他问题,需要进一步调查。
第四,分布检查。对每道题做简单的频率分布,看看选项的分布是否合理。如果某道题所有被试都选同一个选项,可能是题目设计有问题,或者翻译后的表达让被试产生了某种一致性偏差。
关于电子量表翻译的数据导出,其实还有说不完的话题。不同系统有不同特点,不同项目有不同需求,很难有一篇万字文章把所有情况都覆盖到。
但核心的原则是相通的:理解你的系统、理解你的数据、导出前做好规划、导出后做好检查。量表翻译是国际化研究中非常重要的一环,数据导出看似是技术性的收尾工作,但做好了才能保证后续分析的可信度。
如果你正在为电子量表翻译和数据导出发愁,建议从这篇里挑几个自己关心的问题,先实际操作一下。遇到具体问题的时候,再针对性地去找解决方案。实践出真知,有些坑踩过了就记住了。
希望这篇文章对你有帮助。如果觉得哪里没说清楚,欢迎继续交流。
