鄭文嬌
摘要: 在大數(shù)據(jù)時代,人們不僅要從大數(shù)據(jù)中提取有用的數(shù)據(jù),也要用相關(guān)軟件來統(tǒng)計數(shù)據(jù)、分析數(shù)據(jù),讓這些數(shù)據(jù)方便使人接受。目前統(tǒng)計數(shù)據(jù)的可視化受到廣大應用研究者的重視,特別是統(tǒng)計數(shù)據(jù)的基于統(tǒng)計圖形的可視化得到了許多統(tǒng)計學者、信息學者、計算機學者的研究。柱形圖是最常見的圖標類型,柱形圖適用于多種類型的數(shù)據(jù),柱形圖中的堆積柱形圖和分組柱形圖表達的信息更加直觀豐富。在R語言的環(huán)境下,給出了柱形圖的程序函數(shù)語言,并結(jié)合實際統(tǒng)計數(shù)據(jù)給出了實現(xiàn)柱形圖的具體案例。
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.
關(guān)鍵詞: R語言;柱形圖;堆積柱形圖;分組柱形圖
Key words: R language;column chart;stacked column chart;grouped column chart
中圖分類號:TP391.41 文獻標識碼:A 文章編號:1006-4311(2018)08-0216-02
在當今的大數(shù)據(jù)時代,大量的數(shù)據(jù)隱含著大量的信息,人們需要的信息,不僅要從大數(shù)據(jù)里提取出來,更要讓提取出的數(shù)據(jù)方便人們接受。據(jù)統(tǒng)計,人通常利用視聽覺來獲取信息,而獲取的信息中大約百分之九十信息都來源于視覺,相比較枯燥的數(shù)據(jù),轉(zhuǎn)化為形象的統(tǒng)計圖更能讓人們接受,根據(jù)不同個性化的需要能將相同的數(shù)據(jù)解讀出不同的信息,能將數(shù)據(jù)里的信息最大化。
Excel、SPSS、STAT、R、matlab是日常學習工作中的統(tǒng)計軟件。本文從知網(wǎng)整理出的數(shù)據(jù)用R軟件制作出統(tǒng)計圖形。R軟件不僅具有強大的統(tǒng)計分析功能和統(tǒng)計制圖功能,還具有簡明的命令參數(shù)能夠讓用戶容易理解和操作。R軟件可編程的函數(shù)語言環(huán)境能為需要個性化定義的用戶提供極大的便利,是自由、免費、開源的一個軟件。所以越來越多的國內(nèi)外學者都喜愛和使用這款強大的科學數(shù)據(jù)分析的工具[1]。
在日常數(shù)據(jù)處理中,當需要表示一段時間內(nèi)數(shù)據(jù)的變化或者各項之間的比較時,柱形圖是非常常見的圖表。柱形圖不單有單一的條形圖,也有堆積柱形圖、分組柱形圖,能適用于不同類型的統(tǒng)計數(shù)據(jù),通常x軸顯示的是先后順序的時間點,標識出圖表的尺度用y軸。另外有個需要注意的優(yōu)化點,當處理的數(shù)據(jù)都是整數(shù)時,最好使圖形的y軸從0起步,這樣有利于從視覺角度客觀的比較各個柱形圖,分析柱形圖的變化與趨勢,否則容易造成假象[2]。
在R語言里以barplot()函數(shù)來實現(xiàn)柱形圖的繪制[3]。主要參數(shù)和參數(shù)的解釋如下所示:
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關(guān)于柱形寬度的設(shè)置。names.arg是柱形標簽的設(shè)置。Angle用來設(shè)置底紋斜率。Col用來設(shè)置條形底紋或者顏色填充。柱形的邊緣顏色在Border里設(shè)置,通常設(shè)置成黃色、紅色、藍色。xlab和ylab是x軸與y軸lable的設(shè)置。xlim和ylim是柱形x軸與y軸分布范圍的設(shè)置。Axes是柱形是否顯示x軸或y軸的設(shè)置。Plot是是否顯示柱形圖的設(shè)置。axis.lty是圖形x軸類型的設(shè)置。
表1中的數(shù)據(jù)來自中國知網(wǎng)檢索后整理的數(shù)據(jù),按“主題”以“科技成功轉(zhuǎn)化and知識服務”或“科技成果轉(zhuǎn)化and信息服務”路徑進行檢索,并選取2007-2017年之間的數(shù)據(jù)。基于R語言利用此數(shù)據(jù)來畫柱形圖,畫出來的柱形圖可直觀可視化的反映2007-2017年數(shù)據(jù)的變化。
程序如下:
>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="數(shù)量",main="2007-2017論文發(fā)表量")
函數(shù)結(jié)果圖形如圖1所示。
表2分別是以路徑“科研及成果轉(zhuǎn)化”、“知識服務體系or信息服務體系”、“科技成功轉(zhuǎn)化and知識服務”或“科技成果轉(zhuǎn)化and信息服務”進行檢索的數(shù)據(jù),選取2007-2017年度的數(shù)據(jù)。利用此數(shù)據(jù)用R語言來實現(xiàn)堆積柱形圖,畫出來的堆積柱形圖可直觀可視化的反映2007-2017年數(shù)據(jù)的變化。
R程序如下:
>x1=read.csv("data2.csv",header=F)
>rownames(x1)=c("科技成果轉(zhuǎn)化","知識服務體系","科技成果轉(zhuǎn)化and知識服務體系")
>names(x1)=c(2007,2008,2009,2010,2011,2012,2013,2014,
2015,2016,2017)
>jx1=as.matrix(x1)
>barplot(jx1,main="三者結(jié)合",xlab="年份",ylab="數(shù)量",col=c("blue","red","yellow"),legend=rownames(jx1))
多組相關(guān)的數(shù)據(jù)可以用堆積柱形圖表示,比單一的柱形圖顯示更多的信息,具體圖形如圖2所示。
如果想分開看每組數(shù)據(jù)變化,在前者代碼的基礎(chǔ)上做一些調(diào)整,將beside設(shè)置成True就能做出分組柱形圖,三者分組柱形圖圖形如圖3所示。
barplot(jx1,main="三者分組柱形圖",xlab="年份",ylab="數(shù)量",col=c("blue","red","yellow"),legend=rownames(jx1),beside=TRUE)
本文以在中國知網(wǎng)上搜集的數(shù)據(jù)為例,做出了柱形圖、堆積柱形圖、分組柱形圖三種圖形,圖形簡潔直觀可視化,能讓人迅速抓住信息點。從以上實例得出,在處理有些數(shù)據(jù)時用R語言里的柱形圖函數(shù)能方便、簡潔、直觀的反應數(shù)據(jù)里的信息,同時人們還可以根據(jù)自己不同的需求設(shè)計個性化的圖形。當有多組相關(guān)的數(shù)據(jù)時,可用分組柱形圖、堆積柱形圖,它們具有更多豐富的信息,比起單獨做幾組單一的柱形圖,把幾組數(shù)據(jù)放在一起更具有直觀的比較性。
參考文獻:
[1]王懷亮.基于R語言的統(tǒng)計數(shù)據(jù)柱形圖的實現(xiàn)[J].電子技術(shù),2013,42(08):72-74.
[2]Yau N,向怡寧.鮮活的數(shù)據(jù)——數(shù)據(jù)可視化指南[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]薛毅,陳立萍.統(tǒng)計建模與R軟件[M].北京:清華大學出版社,2009.
[5]Kabacoff R I. R語言實戰(zhàn)[M].高濤,肖楠, 陳鋼,譯. 北京:人民郵電出版社,2013.
[6]王斌會.多元統(tǒng)計分析及R語言建模[M].廣州:暨南大學出版社,2010.