R语言在实验数据可视化与统计检验中的应用
2022-09-02曾祥潘广东省广州市白云区景泰小学
曾祥潘 广东省广州市白云区景泰小学
吴俊杰 北京师范大学物理系
孙丽君 山东省淄博第二中学
中小学校在实验研究中,往往受到各种条件的限制,不允许做大量的实验观测,因此能够取得的实验数据比较少。通过少量数据推测研究对象的规律,需要进行统计学分析和处理。借助统计软件可以很便捷地对数据进行统计分析,极大降低数据处理难度和节约分析时间。目前常用的统计软件可分为以SPSS为代表的商业软件和以R语言为代表的开源软件。相对而言,R语言更适合中小学校使用。这是因为R语言除了满足统计领域的使用,还有非常强大的拓展性,提供了数千个涵盖了各个领域的开源工具包。同时,学校可借助R语言开展统计、编程或其他领域的教学实践。另外,R语言及开源工具包都可以免费使用,这有助于研究成果的推广与延续。
笔者结合实验实例,叙述了在对照实验项目中采用R语言进行数据的整理、分析及可视化呈现。这样有助于中小学师生了解R语言的功能与应用,帮助有需要的研究者迅速掌握R语言,正确地统计分析数据。
● R语言简介
R语言是一种交互式计算处理环境,用户可在官网(www.r-project.org)下载安装。R语言安装后是在命令行窗口操作,为了方便使用,可安装R语言的集成开发环境Rstudio。Rstudio可在官网(www.rstudio.com)找到免费版本下载,安装后界面如图1所示。
图1 Rstudio功能界面
Rstudio界面可分为四个功能区。其中程序编辑区用于编写R语言脚本程序,程序执行后输出数据和提示信息将在命令控制台显示。如果是简单的操作可直接在控制台输入指令,无需编写独立程序。数据环境用于呈现导入的数据结构等信息。在使用R语言绘图时,图片会在绘图输出中显示出来。
● 数据采集整理
数据采集有很多方式,既可以用人工记录的传统方式,也可以通过信息化仪器设备自动采集。
(1)手工记录。这是传统方式,用眼看手记把实验数据抄写在记录纸上或直接录入到电子表格。对于数据多、持续时间长的实验项目,需要耗费比较多的人力资源,而且持续记录容易疲劳,从而导致出现较多的错误。
(2)数字化实验(DIS)自动记录。使用DIS器材开展实验,可以解决手工记录容易出错的问题。但是DIS设备购置经费投入大,不容易普及推广。部分实验项目可借助开源硬件传感器,通过自制实验器材的方式解决,这需要实验员做更多的技术准备。
(3)对实验项目改进。利用人工智能等先进技术改进实验器材,使其提高使用效率、提升精度等。例如,借助深度学习工具,自动识别仪器读数等。还可以重构实验项目,如利用OpenCv计算机视觉识别实验对象的周长、投影面积,代替手工测量和计算。通过这些方法能够较便捷地取得实验数据。
实验数据获得后,可保存为CVS、XLS等数据格式,再通过Rstudio菜单File→Import Dataset导入R语言进行分析检验。
● 数据可视化
数据可视化是把数据转成图形的方式显示出来,可以让用户快速、直观地分析数据,了解数据的整体状况。R语言常用的可视化图形有直方图、散点图、箱形图等。下面,以绘制小番茄重量的频率分布直方图为例,了解R语言的绘图方法。
先在Rstudio导入小番茄重量文件“tomato.xls”,该电子表格第1列“sn”为序号,第2列“weight”是小番茄重量。在命令控制台输入以下绘图指令:
>hist(tomato$weight, freq=F)
其中,“hist”是绘制直方图函数;“tomato$weight”是数据来源,来自tomato文件的weight列;“freq=F”是指定绘制频率直方图,如果改为“freq=T”则是绘制频数直方图。绘制的图像效果如图2所示。
图2 小番茄重量分布直方图
此外,还可以在直方图上叠加其他图形。例如,叠加密度曲线,输入以下指令:
>lines(density(tomato$weight),lw d=2)
在上述指令中,“lines”是画线函数;“density(tomato$weight)”的作用是把重量数据转换成密度数据;“lwd=2”是设定线条粗细。绘图效果如下页图3所示。
图3 直方图叠加密度曲线
通过观看图形可以非常清晰地了解数据的分布情况,也能快速发现是否有奇异数据的存在。频率分布直方图也是在后续做数据正态分布检验的一个参考。
● 数据检验
在数理统计分析中,只能由估计量估计总体的参数,总体参数始终是不可知的,只能通过统计检验,由统计量推断总体参数。一般在统计中先对参数提出假设,然后再根据假设进行数据检验。下面,以检验樱桃轮廓特征(果实投影面积及宽高比)差异性为例子介绍检验过程。
取得大红樱桃、大黄樱桃各30枚,拍照后用OpenCv获取每一颗樱桃的轮廓特征数据。假设显著性水平a=0.05,问是否可以认定每两组樱桃的轮廓有差异?
分析:每一组樱桃30颗,数量少属于小样本;樱桃样本是随机分组,属于独立样本。因此可使用两独立样本t检验,其操作流程为:正态性检验→方差齐性检验→t检验。
应用t检验的前提条件是数据必须服从正态分布,适用于小样本正态性检验的方法是S-W检验。其次是方差齐性检验,使用F检验。检验指令及结果如下表所示。
从检验结果可知,两组数据正态性检验p-value值均>0.05,说明符合正态分布;方差齐性检验p-value=0.7072>0.05,满足方差齐。因而可以使用两独立样本t检验,检验结果p-value=1.133e-07<0.05,说明两组数据有明显差异。
数据的正态性决定了后续检验方法的选择,如果数据不服从正态分布,差异性检验就不能使用t检验,否则将得出错误的结论。
● 结语
R语言语法简单,容易编写,利用好R语言对于统计分析来说具有重要的现实意义。本文介绍的内容只是R语言庞大功能的一小部分,对R语言感兴趣想深入了解的读者可以通过R语言的书籍等相关资料进一步学习掌握。
两独立样本样本t检验过程