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