APP下载

基于R语言的统计数据柱形图的实现研究

2018-03-17郑文娇

价值工程 2018年8期
关键词:R语言

郑文娇

摘要: 在大数据时代,人们不仅要从大数据中提取有用的数据,也要用相关软件来统计数据、分析数据,让这些数据方便使人接受。目前统计数据的可视化受到广大应用研究者的重视,特别是统计数据的基于统计图形的可视化得到了许多统计学者、信息学者、计算机学者的研究。柱形图是最常见的图标类型,柱形图适用于多种类型的数据,柱形图中的堆积柱形图和分组柱形图表达的信息更加直观丰富。在R语言的环境下,给出了柱形图的程序函数语言,并结合实际统计数据给出了实现柱形图的具体案例。

Abstract: In the era of big data, people not only need to extract useful data from big data, but also use the related software to analyze the data and make the data convenient for people to accept. At present, the visualization of statistics is paid more and more attention by the majority of applied researchers. In particular, statistics-based visualization of statistics has been studied by many statisticians, information scholars and computer scientists. Column diagram is the most common icon type, and it is suitable for many types of data. The information expressed by the stacked and grouped column diagrams in the column diagram is more intuitive and abundant. In the environment of R language, the program function language of the column diagram is given. Combined with the actual statistical data, a concrete case is given to realize the columnar diagram.

關键词: R语言;柱形图;堆积柱形图;分组柱形图

Key words: R language;column chart;stacked column chart;grouped column chart

中图分类号:TP391.41 文献标识码:A 文章编号:1006-4311(2018)08-0216-02

0 引言

在当今的大数据时代,大量的数据隐含着大量的信息,人们需要的信息,不仅要从大数据里提取出来,更要让提取出的数据方便人们接受。据统计,人通常利用视听觉来获取信息,而获取的信息中大约百分之九十信息都来源于视觉,相比较枯燥的数据,转化为形象的统计图更能让人们接受,根据不同个性化的需要能将相同的数据解读出不同的信息,能将数据里的信息最大化。

Excel、SPSS、STAT、R、matlab是日常学习工作中的统计软件。本文从知网整理出的数据用R软件制作出统计图形。R软件不仅具有强大的统计分析功能和统计制图功能,还具有简明的命令参数能够让用户容易理解和操作。R软件可编程的函数语言环境能为需要个性化定义的用户提供极大的便利,是自由、免费、开源的一个软件。所以越来越多的国内外学者都喜爱和使用这款强大的科学数据分析的工具[1]。

1 柱形图的简介

在日常数据处理中,当需要表示一段时间内数据的变化或者各项之间的比较时,柱形图是非常常见的图表。柱形图不单有单一的条形图,也有堆积柱形图、分组柱形图,能适用于不同类型的统计数据,通常x轴显示的是先后顺序的时间点,标识出图表的尺度用y轴。另外有个需要注意的优化点,当处理的数据都是整数时,最好使图形的y轴从0起步,这样有利于从视觉角度客观的比较各个柱形图,分析柱形图的变化与趋势,否则容易造成假象[2]。

2 柱形图函数的简介

在R语言里以barplot()函数来实现柱形图的绘制[3]。主要参数和参数的解释如下所示:

barplot(height,width=1,space=NULL,names.arg=NULL,legend.text=NULL,beside=FALSE,horiz=FALSE,density=NULL,angle=45,col=NULL,border=par("fg"),main,sub,xlab,ylab,xlim=NULL,ylim=NULL,xpd=TRUE,log="",axes=TRUE,axisnames=TRUE,inside=TRUE,plot=TRUE,axis.lty=0,offset=0,add=FALSE,args.legend=NULL,.)

Width关于柱形宽度的设置。names.arg是柱形标签的设置。Angle用来设置底纹斜率。Col用来设置条形底纹或者颜色填充。柱形的边缘颜色在Border里设置,通常设置成黄色、红色、蓝色。xlab和ylab是x轴与y轴lable的设置。xlim和ylim是柱形x轴与y轴分布范围的设置。Axes是柱形是否显示x轴或y轴的设置。Plot是是否显示柱形图的设置。axis.lty是图形x轴类型的设置。

3 基于R语言的柱形图程序实例

表1中的数据来自中国知网检索后整理的数据,按“主题”以“科技成功转化and知识服务”或“科技成果转化and信息服务”路径进行检索,并选取2007-2017年之间的数据。基于R语言利用此数据来画柱形图,画出来的柱形图可直观可视化的反映2007-2017年数据的变化。

程序如下:

>year=c(2007,2008,2009,2010,2011,2012,2013,2014,

2015,2016,2017)

>count=c(16,11,2,17,16,21,14,19,22,14,5)

>barplot(count,names.arg=year,col="red",border=NA,xlab="年份",ylab="數量",main="2007-2017论文发表量")

函数结果图形如图1所示。

4 基于R语言的堆积柱形图程序实例

表2分别是以路径“科研及成果转化”、“知识服务体系or信息服务体系”、“科技成功转化and知识服务”或“科技成果转化and信息服务”进行检索的数据,选取2007-2017年度的数据。利用此数据用R语言来实现堆积柱形图,画出来的堆积柱形图可直观可视化的反映2007-2017年数据的变化。

R程序如下:

>x1=read.csv("data2.csv",header=F)

>rownames(x1)=c("科技成果转化","知识服务体系","科技成果转化and知识服务体系")

>names(x1)=c(2007,2008,2009,2010,2011,2012,2013,2014,

2015,2016,2017)

>jx1=as.matrix(x1)

>barplot(jx1,main="三者结合",xlab="年份",ylab="数量",col=c("blue","red","yellow"),legend=rownames(jx1))

多组相关的数据可以用堆积柱形图表示,比单一的柱形图显示更多的信息,具体图形如图2所示。

如果想分开看每组数据变化,在前者代码的基础上做一些调整,将beside设置成True就能做出分组柱形图,三者分组柱形图图形如图3所示。

barplot(jx1,main="三者分组柱形图",xlab="年份",ylab="数量",col=c("blue","red","yellow"),legend=rownames(jx1),beside=TRUE)

5 总结

本文以在中国知网上搜集的数据为例,做出了柱形图、堆积柱形图、分组柱形图三种图形,图形简洁直观可视化,能让人迅速抓住信息点。从以上实例得出,在处理有些数据时用R语言里的柱形图函数能方便、简洁、直观的反应数据里的信息,同时人们还可以根据自己不同的需求设计个性化的图形。当有多组相关的数据时,可用分组柱形图、堆积柱形图,它们具有更多丰富的信息,比起单独做几组单一的柱形图,把几组数据放在一起更具有直观的比较性。

参考文献:

[1]王怀亮.基于R语言的统计数据柱形图的实现[J].电子技术,2013,42(08):72-74.

[2]Yau N,向怡宁.鲜活的数据——数据可视化指南[M].北京:人民邮电出版社,2011.

[3]Documentation R. Creates a bar plot with vertical or horizontal bars[EB/OL].http:// stat.ethz.ch/R-manual /R-patched/library/graphics/ html/barplot.html.

[4]薛毅,陈立萍.统计建模与R软件[M].北京:清华大学出版社,2009.

[5]Kabacoff R I. R语言实战[M].高涛,肖楠, 陈钢,译. 北京:人民邮电出版社,2013.

[6]王斌会.多元统计分析及R语言建模[M].广州:暨南大学出版社,2010.

猜你喜欢

R语言
基于R语言的学生成绩分析
基于GPS轨迹数据进行分析改善城市交通拥挤
基于R语言的Moodle平台数据挖掘技术的研究
注重统计思维培养与应用为主导的生物统计学课程建设