语言科学的数据处理、可视化与统计分析
1. 引言
"When you can measure what you are speaking about, and express it in numbers, you know something about it;
but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind.
It may be the beginning of knowledge, but you have scarcely, in your thoughts, advanced to the stage of science."
--William Thomson, Lord Kelvin
2. 内容简介
第一章主要介绍基于tidyverse包在R中的数据整理。这一章的核心思想是引导初学者形成强烈的“变量意识”。作者根据Wickham & Grolemund (2017)提出的R语言“干净、整洁”的数据框应符合的三条标准,介绍了一些在R中常用的数据框操作函数。例如,unite()函数可以将两个变量合并成一个变量。这一函数对于翻译认知加工数据的整理也有启发:比如,研究者可以使用unite()函数将被试(Part)和任务(Task)进行合并,例如P01_T3则表示第01号被试的人工翻译任务数据。又如,无论是对于反应时数据,还是眼动数据,研究者通常需要对这些行为数据的异常值(outliers)进行剔除。而filter()函数则为实现该操作提供了可能。在本章中,作者也介绍了如何利用filter()函数筛选出正确率等于1,以及剔除反应时低于200毫秒、高于平均数2.5倍标准差的数据。再如,眼动实验研究者有时需要计算兴趣区的平均注视时长(average fixation duration),而眼动数据表中通常只有兴趣区的总注视次数(total fixation count)和总注视时长(total fixation duration),此时则可以通过mutate()函数在已有的变量基础上生成新的变量,这一函数也在该章中重点介绍。 与吴诗玉教授于2019年在外语教学与研究出版社出版的《第二语言加工及R语言应用》不同的是,本章介绍了一些比较基础的正则表达式,如利用str_c()将两个变量合并;利用str_sub()函数截取相关字符;利用str_extract()提取相关内容(如提取Frost诗歌中的所有名词)等,作为一个数据科学家,除了常常要面对数值型的数据以外,还可能会面对非结构化的文本数据,因此正则表达式的知识就显得非常必要。此外,第一章还有一大特色,即重点介绍了数据表的合并。除了介绍传统的rbind()和cbind()函数之外,该章还重点介绍了生成新变量的表格合并(如利用inner_join()、left_join()等)和不生成新变量的表格合并方法(如利用anti_join()和semi_join())。其中,left_join()函数对于心理语言学实验研究者帮助最大,无论是反应时实验,还是眼动实验,大多是重复测量的实验设计,而研究者都可能会单独让被试填写问卷,汇报语言学习年数、翻译经验,或者测试被试的工作记忆等。这些具有被试个体特征的变量通常作为协变量放入统计模型中。这就导致行为数据表中的行数远大于被试个体特征数据表,而left_join()函数则为高效地将行为数据和被试个体特征数据进行合并提供了可能性。 第二章和第三章是第一章的进阶和深入,主要基于具体的案例对数据框的操作进行讲解,这是区别于2019年的《第二语言加工及R语言应用》的一大特色。一个成熟的研究者,在开展研究时,不仅要考虑实验设计本身,还要关注数据整理问题(p. 83),因为后者可能会决定论文产出的效率。通常来说,从在线问卷系统中导出的数据表无法直接用于统计分析。而第二章则主要涉及问卷量表数据的处理,采用的两个案例选自作者本人开展的关于汉/英第三人称代词的可接受度判断实验。第三章则主要涉及反应时行为数据的处理,采用的案例为作者及其团队在《外语教学与研究》上发表的《中国英语学习者词汇与概念表征发展研究:混合效应模型的证据》(吴诗玉等,2017)。与第二章不同的是,第三章主要介绍如何在RStudio中进行数据探索或描述性分析,因为大部分数据清理工作在E-prime软件里即可完成。作者在第三章主要以问题驱动的方式来介绍数据探索的过程,例如,“问题7:一共有多少被试的平均准确率低于60%?去除平均准确率低于60%的被试,重新计算被试在每种实验条件下判断正确的平均反应时”(p. 117)。这句话看似很简单,初学者会误以为这不需要作者消耗太多的精力完成来写完之句话,但其实需要研究者进行严密的逻辑来完成代码的撰写,需要综合运用tidyverse包中的group_by()、summarize()和filter()函数才能回答这一问题,这也是实证研究论文的“结果部分”必不可少的环节。此外,作者还利用ggplot2把数据探索的结果进行可视化,这也是实证研究中非常重要的组成部分,不仅有利于读者或同行评审专家更加直观地了解数据的大致趋势,也可以为研究者进行统计建模后的数据解读提供一定的参考依据。无论是第二章,还是第三章,作者都在整理数据前介绍了研究背景、被试、材料和程序,因为如果不了解研究设计,那读者就不知道数据中有哪些变量,大脑中就无法“模拟”构建一个“数据框”,也就无法整理出“干净、整洁”的数据框,从这一点可以看出作者的独具匠心。 第四章和第五章侧重统计学的原理,第四章主要介绍了概率分布,即离散变量分布:二项分布(binomial distribution)和泊松分布(poisson distribution),以及连续变量分布(正态分布、t分布和正如上文所述,本书内容丰富,从数据框的基本操作到统计原理,再到数据可视化和统计分析,并结合实验设计的案例,对语言学研究的初学者非常友好。同时,从认知工效学角度来看,本书将代码生成R Markdown,附在正文中,相比2019年的《第二语言加工及R语言应用》,本书的阅读体验会更好。但本书仍存在以下不足之处:
1)混合效应模型方面的案例较少。本书4.2 离散变量分布这一小节中提到“后面的章节可能会涉及拟合泊松回归的混合效应模型的例子”,但通读全书以及查阅附代的R语言代码,笔者并没有发现相关泊松回归的案例。对泊松回归感兴趣的读者,可参看吴诗玉(2019)《第二语言加工及R语言应用》一书中4.5 广义线性模型:泊松回归这一小节,亦或查看Winter & Bürkner (2021)使用brms包进行泊松回归分析的教程:
https://compass.onlinelibrary.wiley.com/doi/10.1111/lnc3.12439。
2)统计学概念的介绍存在“跳跃性”。本书没有花费太多篇幅介绍统计学原理上,这是本书的一大特色,但这也会导致前文中提到的一些统计学概念的定义,在后文中才会出现。例如,第三章作者在利用ggplot2作图前,先计算了一下标准误(standard error, SE)(p. 115),但是这一概念在上文中并没有提及,反而是在第5章 假设检验的原理中提到了标准误的定义和计算方式(p. 148)。为了更方便读者查阅相关统计学概念,建议本书再版时,新增统计学概念的附录索引页,或者在提到相关统计学概念时,在正文中交代一下,读者可查阅第几章第几页,以了解该统计学概念的具体定义。
3)缺少“反面教材”的案例。鲍贵(2012)曾对我国外语教学研究中的统计方法进行了调查研究,发现在2005~2009年间,仅有58%的研究正确使用t检验。在本书的7.2.3 配对样本t检验这一小节中,作者也提到“配对样本t检验也非常普遍,同样初学者也很容易误用”(p. 228),但作者并没有列举“反面教材”的案例,如能呈现误用的案例,那对于开设语言学统计方法课程的教师来说,也是一个福利。
4)拉丁方设计内容与统计分析脱节。虽然多数研究会采用抵消平衡法(counterbalancing)来减少实验任务顺序对被试产生的学习效应或疲劳效应对关键预测变量的影响,但这些学习效应和疲劳效应本身的噪音(noise)依旧存在于数据中,会导致统计分析犯二类错误(Type-II error),即假阴性(Baayen et al., 2008, p. 399)。因此,有必要告诉读者将任务/句段顺序作为协变量/控制变量放入统计模型中。
然而,瑕不掩瑜,本书是语言科学领域的宝贵资源。从理论角度,书中在概率统计和假设检验的原理方面有深入的探讨;在应用层面,本书结合大量具体的语言科学实证研究的案例,向读者展示如何进行数据整理、数据探索、数据可视化、数据分析和结果报道,为应用语言学、心理语言学研究者搭建了“脚手架”,也为推进我国外语学科的“科学化”进程作出了贡献。
4.书评作者简介钱家骏,上海外国语大学英语学院翻译学方向博士生,美国肯特州立大学翻译与翻译技术研究与创新中心成员(CRITT)。研究方向为翻译技术、翻译过程和语料库翻译学。参与国家社科基金项目2项、上海市哲学社会科学项目1项。曾担任ESCI期刊Asia Pacific Translation and Intercultural Studies匿名评审。研究成果发表在《外国语》、《外语界》、《解放军外国语学院学报》和《西安外国语大学学报》上。
内容简介
R是天生的数据分析利器,因其在统计建模和数据可视化方面的优势,它被越来越多的语言学者熟知和使用,已经成为应用语言学、心理语言学、实验语音学等研究者青睐的重要研究工具。本书在语言学量化研究视域下主要介绍了四个方面内容:①“干净、整洁”的数据框的标准;②基于ggplot2的语言数据可视化;③NHST的原理,即如何在语言研究中实现从样本到总体;④统计推断的多种应用。本书从训练数据框操作能力入手,在介绍这四个方面内容时,首先着力解决一些关键概念的理解问题,然后提供大量实例,把关键概念付诸具体应用。比如,在介绍数据框操作时,既有语言研究中常用的问卷数据处理,也有大量的反应时行为数据(E-prime)处理,这些数据都是基于笔者真实的语言研究项目。每项研究都会涉及上述四个方面内容,因此形成了一些可供后续使用的经验。
本书目录
前言
本书使用说明
第 1 章 R 数据科学:数据框的操作 1
1.1 干净、整洁的数据框的标准2
1.2 熟练地使用数据框操作函数8
1.2.1 gather( )和 spread( )的用法8
1.2.2 separate( )和 unite( )的用法 13
1.3 一些基础正则表达式的知识 21
1.4 数据表合并 32
1.4.1 传统的变长或变宽的表格合并 32
1.4.2 生成新变量的表格合并 37
1.4.3 不生成新变量的表格合并 43
1.4.4 集操作46
1.5 数据框运算和操作的五个函数 49
第 2 章 数据框操作实例:问卷数据处理 56
2.1 案例一:汉语第三人称代词的可接受度判断实验56
2.1.1 背景56
2.1.2 材料56
2.1.3 程序58
2.1.4 数据清洁和整理 59
2.1.5 利用最终数据进行描述统计 67
2.2 案例二:英语第三人称代词的可接受度判断实验71
2.2.1 背景71
2.2.2 材料73
2.2.3 程序74
2.2.4 数据清洁和整理 75
2.2.5 利用最终数据进行描述统计 87
第 3 章 数据框操作实例:反应时行为数据处理 91
3.1 背景92
3.1.1 被试92
3.1.2 材料93
3.1.3 程序94
3.2 E-prime 数据清洁和整理 94
3.3 RStudio 数据清洁和整理99
3.4 总结 113
第 4 章 概率分布 114
4.1 介绍 114
4.2 离散变量分布 116
4.3 连续变量分布:正态分布, t 分布、 F 分布和χ2分布120
4.3.1 正态分布 120
4.3.2 t 分布、 F 分布和χ2分布 128
第 5 章 假设检验的原理 133
5.1 正态分布视域下的 NHST 134
5.2 t 分布、 F 分布以及χ2分布视域下的 NHST141
5.3 总结 148
第 6 章 ggplot2 作图151
6.1 与实验数据关联的作图知识152
6.1.1 基础图形语法 152
6.1.2 分页 164
6.1.3 着色 176
6.1.4 图例修改 183
6.2 实验数据之外的作图知识188
6.2.1 theme 系统189
6.2.2 坐标体系、注解和绘制函数198
第 7 章 实验设计、 t 检验、方差分析和回归模型 203
7.1 实验研究和实验设计203
7.1.1 描述性研究 203
7.1.2 相关研究 204
7.1.3 界定变量之间关系的研究206
7.1.4 实验设计 208
7.1.5 拉丁方实验设计 211
7.2 t 检验 214
7.2.1 单样本 t 检验214
7.2.2 独立样本 t 检验218
7.2.3 配对样本 t 检验220
7.2.4 t 检验的效应量 222
7.2.5 t 检验的统计假设的前提 226
7.3 方差分析 226
7.3.1 独立测量的单向方差分析227
7.3.2 重复测量的单向方差分析230
7.3.3 多自变量方差分析 235
7.4 统计模型 242
7.5 总结 245
作者简介
吴诗玉教授具有丰富的心理语言学以及二语习得实证研究经验,是ESCI检索期刊Journal of Second Language Studies的联合执行主编,在SSCI和CSSCI期刊上发表了许多心理语言学以及二语习得方面的实证研究论文。出版著作5部,在国内CSSCI以及国际SSCI期刊上共发表近50篇研究论文,主持国家社科基金项目等科研项目多项。
识别二维码购买
Journey into Journals——国际期刊论文写作与发表