基于R语言的统计教学应用初探
2017-05-30李雄英
李雄英
摘 要:在计算机科学和大数据时代的背景下,统计学作为我国高等教育新的一级学科,在近几年有了跨越式的发展。而R语言作为常用统计软件,也越来越受到学术界的高度关注和认可。R语言具有操作简单、功能全面、统计准确等优点,在统计学的教学过程中也被广泛使用。文章从统计学教学入手,探讨在统计教学过程中R语言的运用,而且与例子相结合,来进一步说明R语言软件在统计教学中的优势。
关键词:统计学;R语言;教学
中图分类号:G642 文献标志码:A 文章编号:2096-000X(2017)01-0050-03
Abstract: Under the background of computer science and big data, statistics, as a new first-level discipline in higher education of our country, has achieved leap-and-bound development in recent years. And R language, as a common statistical software, has attracted more and more attention and recognition by the academic community. R language has the advantages of simple operation, comprehensive function, accurate statistics and so on, and is widely used in the teaching of statistics. This article starts from the teaching process of statistics, discusses the application of R language, and further illustrates the advantages of R language software, combined with examples.
Keywords: statistics; R language; teaching
R语言是属于GNU系统的一个自由、免费、源代码开放的软件,它主要用于统计计算和统计制图[1]。随着统计技术的迅速发展,特别是伴随着大数据时代的到来,现代数据处理方法解决问题能力的深度和广度都有了很大的拓展,而选择一个合适的统计软件便成了大部分统计工作者需要关注的事情。随着计算机技术和统计技术的发展,统计软件不断推陈出新,且各具特色。随着全球对知识产权的保护不断提高,现在的开放源代码逐渐开始形成一种市场,而R语言正是在这个大背景下發展起来的,R语言是以S语言环境为基础,并且由于其鲜明的特色,它一出现便受到了统计专业人士和企业界的青睐,正成为数据处理里相当标准的统计软件[2,3]。
如今,大数据时代已然来临,尤其是在金融、电信、医疗和物流等行业,几乎已经到了“数据就是业务本身”的地步,也有更多的统计分析师希望深入了解和分析大数据,且近几年Hadoop、NoSQL、数据分析与挖掘、数据仓库、商业智能以及开源云计算架构等逐渐成为了热点话题。R语言软件不仅在社会上的影响力逐渐提升,而且在高校的教学中也逐渐被重视。
一、R语言的教学优势
(一)R语言软件的特点
R语言是一套比较完整的拥有数据处理、计算和制图的软件,其功能包括:数据存储和数据处理系统、数组运算,属于完整连贯的统计分析工具,而且它的统计制图功能、简便而强大的编程语言功能、可操纵数据的输入和输出功能,均可实现分支、循环,并且用户可自定义。R语言作为一种常见的统计分析软件,是集统计分析与图形显示于一体的,相比于其他统计分析软件,R语言还有以下特点:
1. 自由。这里的自由意味着软件是完全免费的,而且它的源代码是开放的。到目前为止,R语言的包有9275个,使用者可以在其镜像或者其它学习网站中下载安装程序、相应的源代码、包和文档材料。
2. 可编程。与其它统计软件相比,如SPAA、SAS等,R语言的特点中有一个让程序员都喜欢的特点是——其可编程。作为一个开放的统计编程软件,它的语法通俗易懂,让大部分学者容易学会且掌握其语法,最重要的是我们可以编制自己的函数来扩展现有的语言。
3. 更新快。所有的有关R的函数和数据集是保存在程序包里面的,只有当一个包被载入时,它的内容才可以被访问。一些常用、基本的程序包已经被收入了标准安装文件中,随着新的统计分析方法的出现,标准安装文件中所包含的程序包也随着版本的更新而不断变化,而且更新的速度非常快。
4. 强互动性。一般情况下使用的是R语言软件,除了图形输出是在另外的窗口处,它的输入、输出窗口都是在同一个窗口进行的,而且输出的图形可以直接保存为多种图片格式,还可以直接保存为PDF文件。现在也有很多学者喜欢使用Rstudio,它的互动性会表现得更加明显,我们直接可以在它的界面上得到需要的图像,显示下载过的包和编程历史等信息。
5. 跨平台。这里所谓的跨平台的,主要是指R语言有較好的兼容性,他可以在我们的Linux和Windows,甚至是Mac OS运行,这是很多统计软件所做不到的。
(二)R语言在统计教学中的优势
统计学的研究过程大概可以分为以下五个阶段:收集数据、处理数据、分析数据、解释数据、得到结论。而统计学的教学工作也是相应地按照这五个阶段的顺序依次展开的,鉴于Excel软件的统计功能易学易用,所以大部分教材或者学者都会选择这个软件,但是,从软件本质上来说,Excel是一款电子表格软件,而非专门的统计软件,它仅仅能够处理一些简单的统计计算,对于稍微复杂的问题便无从下手。在上述五个阶段中,R语言主要应用在处理数据和分析数据这两个阶段,处理数据阶段主要包括数据的预处理、数据的整合以及数据的图像显示等方面。分析数据阶段主要包括一些基本统计方法的内容,如参数估计、假设检验、线性回归等。对于大部分统计专业的学生来说,处理数据的能力非常重要。
对于坚持理论与应用相结合的大学或者专业,尤其是特別强调和训练各种与统计、数据分析相关计算机软件的操作技能的专业,R语言的优势会展现得淋漓精致。在教学上,教师可以通过对R语言的教学,使学生不仅仅停留在对基础理论知识的掌握上,更重要的是更加深入了解和掌握统计数据处理、运用统计软件对实际问题具体分析的能力上,而且教师可以利用R语言软件进行数据的可视化教学。教师在教学中采用R语言后,可以把各种统计数据通过可视化后更加直观的展示给学生,使抽象的理论变得形象化。使用R语言进行教学可以很好的将课堂上讲授的理论、案例分析与统计软件结合起来。与此同时,还可以增加学生学习理论的积极性,最大限度的发挥学生的主观性,以软件促进理论学习,学以致用,能获得最优的学习效果。
二、基于R语言的统计教学案例分析
(一)R语言相关的统计分析包
启动R语言软件后,我们可以看到R GUI (graphic user's interface)的主窗口,它主要由以下三部分组成:主菜单、工具条和R console(R的运行窗)。对于R语言,CRAN(Comprehensive R Archive Network)提供了许多便于统计分析的宏包:例如:stable-分布广义回归分析、VaR-风险值分析、tseries-时间序列分析、matrix-矩阵运算、cinterface-C与R的接口、foreign-读写由S、Minitab、SAS、SPSS和Stata等软件的数据、normix-混合正态分布分析、nortest-正态分布的Anderson-Darling检验、MCMCpack-基于Gibbs抽样的MCMC抽样方法、fracdiff-分数差分模型的极大似然估计[4]。
(二)实例分析
例1. 判断数据是否服从正态分布
在判断数据是否服从正态分布时,经常使用到的是shapiro.test()检验、ks.test()检验等,也可以使用nortest包中的lillie.test(),它可以实行更精确的Kolmogorov-Smirnov检验,ad.test()进行Anderson-Darling正态性检验等。而且也可以使用fBasics包,其中normalTest()可进行Kolmogorov-Smirnov正态性检验等等。最简单的还是使用概率直方图或者QQ圖直接判断,下面随机产生10000个服从标准正态分布的随机数,并作出他们的概率直方图,然后再添加正态分布的概率密度曲线,其程序和图如下:
x=rnorm(10000) #随机产生10000个标准正态分布的随机数
hist(x,prob=T,ylim=c(0,0.5),main="") #作概率直方图
lines(density(x)) #添加概率密度曲线
qqnorm(x,main="");qqline(x) #作QQ图
这是随机生成的服从正态分布的随机数的概率直方图,当我们获得一组数据,并且需要判断它是否服从正态分布时,可以通过作直方图的方式看数据是否存在正偏或者负偏,从而判断数据是否服从正态分布。
例2. 进行t检验
t检验分为单样本均值的t检验和两样本均值的t检验,它的代码均为t.test(),只是在两样本均值的t检验中需要求两组数据服从正态分布,而且还要求两组数据相应的总方差相等,即满足方差齐性。它们的代码分别是:t.test(data1)、t.test(data2~data3,data=data)。
例3. 使用R语言做回归分析
上面的例子只是统计分析中较常见且简单的例子,实际上,R语言能够处理统计基本模型,而且处理起来也不比其他统计软件差。在我们的实际教学过程中,与传统的讲授法教学相比,使用R语言软件进行教学不仅可以让学生对统计、数据分析的原理、方法、技术和应用有较好的把握,而且也可以让学生较好的操作和运用计算机进行统计、数据分析软件进行数据分析,以及让学生具备规范的写作数据分析报告的能力。
三、结束语
在大数据时代的今天,是否拥有数据分析能力以及处理数据能力直接影响着一个统计学者能否真正融入数据化的时代。而R语言这个被广泛使用的统计工具也逐渐被人接受和应用,特别是在大学的统计教学中。R语言在统计教学过程中最大的优势是它能够将非常抽象的统计学概念转化为直观具体的图形或者函数,从而使得枯燥无味的统计学学习变得更加生动有趣。在教学过程中,可以针对学生的学习兴趣对R语言的应用过程进行优化,从根本上提高学生对统计学的掌握水平,从而培养综合性和应用型人才。
参考文献
[1]王斌会.多元统计分析及R语言建模[M].广州:暨南大学出版社,2015.
[2]张哲.浅谈R语言在生物统计学教学中的应用[J].教育教学论坛,2013(07):54-55.
[3]奚宁.R语言在统计学教学中的运用[J].科技咨询,2012(01):97-98.
[4]吴喜之.复杂数据统计方法:基于R的应用[M].北京:中国人民大学出版社,2013.