R语言在实验数据可视化与统计检验中的应用

作者: 曾祥潘 吴俊杰 孙丽君

R语言在实验数据可视化与统计检验中的应用0

程序教学的复兴意味着信息科技教师的专业化水平伴随着学科发展在逐步提高,但与此同时也伴随着新的程序教学语言的选择问题。从课程标准的角度来看,它并没有确切规定将哪一种语言作为教学语言,这意味着落实课程标准可以有许多“和而不同”的路径。在近几期的稿件中,我们混合使用了Python语言和R语言,将人工智能应用和数据统计结合起来,可能很多读者已经对Python语言有了一些了解,但是对R语言还比较陌生。因此,本期信息技术实验,我们将会对R语言在数据统计上的常见做法进行一个归纳,方便在日后的信息科技课程中,教师可以根据教学需要来选择合适的工具语言。R语言除了是一门开源、免费的计算机语言之外,还是一款功能强大的文本编辑平台,其中bookdown就是这样的一个工具,这说明通过编程来做计算机能够做的所有的事情,这种来自早期计算机使用者的使用习惯,在信息科技教学走向深入的时代,仍然具备现实的意义。

摘要:在实验研究过程中,使用统计检验方法对实验数据进行分析处理具有重要的现实意义。在众多的统计软件中,R语言因其使用灵活、功能强大、开源免费等优点得到了广泛使用。本文通过应用R语言检验实验数据的差异性,介绍其数据检验路径,有助于读者了解和掌握R语言的功能和用法。

关键词:R语言;数据可视化;统计检验

中图分类号:G434  文献标识码:A  论文编号:1674-2117(2022)17-0070-03

中小学校在实验研究中,往往受到各种条件的限制,不允许做大量的实验观测,因此能够取得的实验数据比较少。通过少量数据推测研究对象的规律,需要进行统计学分析和处理。[1]借助统计软件可以很便捷地对数据进行统计分析,极大降低数据处理难度和节约分析时间。目前常用的统计软件可分为以SPSS为代表的商业软件和以R语言为代表的开源软件。相对而言,R语言更适合中小学校使用。这是因为R语言除了满足统计领域的使用,还有非常强大的拓展性,提供了数千个涵盖了各个领域的开源工具包。同时,学校可借助R语言开展统计、编程或其他领域的教学实践。另外,R语言及开源工具包都可以免费使用,这有助于研究成果的推广与延续。

笔者结合实验实例,叙述了在对照实验项目中采用R语言进行数据的整理、分析及可视化呈现。这样有助于中小学师生了解R语言的功能与应用,帮助有需要的研究者迅速掌握R语言,正确地统计分析数据。

● R语言简介

R语言是一种交互式计算处理环境,用户可在官网(www.r-project.org)下载安装。R语言安装后是在命令行窗口操作,为了方便使用,可安装R语言的集成开发环境Rstudio。Rstudio可在官网(www.rstudio.com)找到免费版本下载,安装后界面如图1所示。

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所示。

此外,还可以在直方图上叠加其他图形。例如,叠加密度曲线,输入以下指令:

>lines(density(tomato$weight),lwd=2)

在上述指令中,“lines”是画线函数;“density(tomato$weight)”的作用是把重量数据转换成密度数据;“lwd=2”是设定线条粗细。绘图效果如下页图3所示。

通过观看图形可以非常清晰地了解数据的分布情况,也能快速发现是否有奇异数据的存在。频率分布直方图也是在后续做数据正态分布检验的一个参考。

● 数据检验

在数理统计分析中,只能由估计量估计总体的参数,总体参数始终是不可知的,只能通过统计检验,由统计量推断总体参数。[2]一般在统计中先对参数提出假设,然后再根据假设进行数据检验。下面,以检验樱桃轮廓特征(果实投影面积及宽高比)差异性为例子介绍检验过程。

取得大红樱桃、大黄樱桃各30枚[3],拍照后用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语言语法简单,容易编写[4],利用好R语言对于统计分析来说具有重要的现实意义。本文介绍的内容只是R语言庞大功能的一小部分,对R语言感兴趣想深入了解的读者可以通过R语言的书籍等相关资料进一步学习掌握。

参考文献:

[1]刘加妹,周志坚.利用SPSS处理生物实验数据[J].生殖医学杂志,2008(02):130-134.

[2]杨彩霞.基于近红外光源的非接触式视线跟踪技术研究[D].济南:山东大学,2012(03):101.

[3]孙丽君,曾祥潘,吴俊杰.基于计算机图形学的植物果实轮廓特征差异性检验[J].中国信息技术教育,2022(13):73-75.

[4]刘二钢,马建强.R语言在统计分析中的使用技巧[J].电脑知识与技术,2017(03):251-256.

经典小说推荐

杂志订阅