• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      R語言在統(tǒng)計分析中的使用技巧

      2017-03-24 13:18劉二鋼馬建強
      電腦知識與技術(shù) 2017年1期
      關(guān)鍵詞:R語言統(tǒng)計分析檢驗

      劉二鋼+馬建強

      摘要:R語言在統(tǒng)計分析中的應(yīng)用已經(jīng)越來越廣泛。文章通過一些實例,簡要地介紹了R語言在統(tǒng)計分析中的一些技巧和應(yīng)用,希望能夠為廣大讀者學(xué)習(xí)R語言提供一些啟迪和借鑒作用。

      關(guān)鍵詞:R語言;統(tǒng)計分析;統(tǒng)計函數(shù);檢驗

      中圖分類號:TP312 文獻標識碼:A 文章編號:1009-3044(2017)01-0251-03

      Abstract: The R language in the application of statistical analysis has been more and more widely.This paper introduces the R language techniques and applications in statistical analysis through some examples, and wants to be able to provide some enlightenment and reference for the readers to study the R language.

      Key words: R language; statistical analysis; statistical function; test

      R語言主要誕生于上個世紀九十年代,最初是S語言的一種實現(xiàn)。R是由來自于新西蘭奧克蘭大學(xué)的Ross Ihaka和Robert Gentleman開發(fā)(也因此稱為R),現(xiàn)在由“R開發(fā)核心團隊”負責(zé)開發(fā)[1]。它的主要特點是具備一系列連貫而又完整的數(shù)據(jù)分析中間工具,擁有一整套數(shù)組和矩陣操作運算符能有效地處理保存數(shù)據(jù),其圖形統(tǒng)計功能可以對數(shù)據(jù)直接進行分析和顯示,加上R是一種面向?qū)ο蟮目删幊陶Z言,和其他編程語言、數(shù)據(jù)庫之間有很好的接口[2]。

      R語言能夠提供強大的統(tǒng)計分析、數(shù)據(jù)處理以及圖形可視化功能。與其說R是一種軟件,不如說R是一種統(tǒng)計應(yīng)用的環(huán)境。另外R語言還是一個完全免費的統(tǒng)計軟件,許多程序員提供了大量豐富的程序包,并且擁有強大的社區(qū)資源,有許多不同領(lǐng)域的專家、學(xué)者在此處交流與探討。正因如此,R語言在國外的統(tǒng)計教學(xué)及科研工作中已經(jīng)得到了廣泛應(yīng)用,但是在國內(nèi),R語言還比較陌生,研究人員相對較少。不過可喜的是,已經(jīng)有不少學(xué)者已經(jīng)在關(guān)注R語言,并為推廣和使用R語言而努力。

      本文就是在此環(huán)境之下,介紹R語言的一些簡單統(tǒng)計功能,希望能夠為廣大學(xué)者和教學(xué)人員提供一些借鑒之處。

      1 R語言中的對象與數(shù)據(jù)類型

      R語言把操作對象分為多種類型,如向量、矩陣、因子(factor)、清單(list)及數(shù)據(jù)框(data frame)等。部分R函數(shù)會根據(jù)類型的不同而作不同的處理。比如函數(shù)plot會隨著不同的數(shù)據(jù)類型而得到不同的結(jié)果:輸入數(shù)字向量,會得到點散圖;輸入因子,會得到盒形圖;輸入回歸模型分析則得到圖像分析。這種處理方式在R中被稱為“對象導(dǎo)向式程序編寫”[3]。

      1.1 標量與向量

      標量是由簡單的數(shù)字或者字符串所組成的,如果是字符串,則在左右兩端需加上雙引號。比如3代表數(shù)字,而“3”則代表一個符號。向量則是一組一維標量的集合。如果一個向量同時包含了數(shù)字和字符,則R語言會統(tǒng)一按照文字處理。例如:

      > a=c(1,2,3,4,"f")

      1.2 矩陣

      矩陣就是二維的向量,輸入矩陣和輸入向量類似。例如:

      > matrix(c(1:9),nrow=3,ncol=3,byrow="T")

      [,1] [,2] [,3]

      [1,] 1 2 3

      [2,] 4 5 6

      [3,] 7 8 9

      這里輸入的3行3列的一個矩陣,byrow="T"表示是按照行進行排列矩陣。如果是一行的矩陣,就可以按照向量進行處理了。

      1.3 清單

      清單可以將多種類型的數(shù)據(jù)放在一起。如果將向量看作是一組標量的排列,則清單可以理解為一組不同形態(tài)對象的排列。例如:

      > b=list(c("one",2,3,"four"), matrix(c(1,2,3,4,5,6,7,8,9), nrow=3, ncol=3), c(3,9,15))

      想輸出第一組內(nèi)容,可以使用:

      > b[[1]]

      [1] "one" "2" "3" "four"

      如果輸入:> b[[2]][1:3,2],則顯示的是矩陣中第二列的內(nèi)容。

      2 R的統(tǒng)計功能

      R語言中內(nèi)置了許多統(tǒng)計函數(shù),用這些函數(shù)可以方便地實現(xiàn)大量的統(tǒng)計功能,方便地解決在統(tǒng)計中概率計算、臨界值、分位數(shù)等問題。表1是R語言中常見的統(tǒng)計函數(shù)名稱及相關(guān)參數(shù)。

      為了便于方便理解,R將統(tǒng)計分布設(shè)為四個基本項目,即概率密度函數(shù)、累積分布函數(shù)、分位數(shù)和偽隨機數(shù)[3]。每個統(tǒng)計函數(shù)所對應(yīng)的項目函數(shù),其命名規(guī)則是用d、p、q、r做為名稱前綴。比如幾何分布函數(shù),R語言對應(yīng)名稱為geom,則可以用dgeom、pgeom、qgeom、rgeom去表示幾何分布的這四個基本項目。

      下面舉一個例子表明R語言對于統(tǒng)計函數(shù)的處理方法,簡單的例句及釋義如下:

      > pnorm(5) #計算標準正太隨機變量Z<5的方差

      > pnorm(5,3,1.2) #計算正太隨機變量平均數(shù)是3,標準方差是2,分布函數(shù)<5的概率

      > pnorm(5,3,1.2)-pnorm(4,3,1.2) #求分布函數(shù)4~5之間的概率

      > qnorm(0.85,3,1.2) #求85%的分位數(shù)

      > dnorm(4,3,1.2) #求值為4時的概率密度

      > rnorm(20,3,1.2) #產(chǎn)生20個隨機數(shù)

      如上可以看出,對于相關(guān)的函數(shù),只需要在前面加上相應(yīng)的前綴,就可以進行計算了,非常方便。表1中列舉的其它函數(shù)也可以以此類推。

      3 R與概率曲線

      3.1 正態(tài)分布

      正態(tài)分布是統(tǒng)計學(xué)中最重要、最常見的分布之一,現(xiàn)實生活中的很多隨機現(xiàn)象都可以用正態(tài)分布或類似正態(tài)分布進行描述。正態(tài)分布對于統(tǒng)計學(xué)中的三大抽樣分布具有引導(dǎo)作用。對于正態(tài)分布,可以用下面語句畫出整體曲線:

      > curve(dnorm(x), xlim=c(-3,3),col="red", lwd=3, lty=1,main="標準正態(tài)分布")

      其中,curve是繪畫曲線的常用命令,是根據(jù)(x,dnorm(x))的坐標關(guān)系作出的。橫軸的取值范圍為-3,3,曲線顏色為紅色,線條寬度3,main的內(nèi)容為圖形標題。如果想改為累積分布函數(shù),則按照上面第2點所敘述,只需要將dnorm函數(shù)改為pnorm即可,語句如下:

      > curve(pnorm(x), xlim=c(-3,3),col="red", lwd=3, lty=1,main="標準正態(tài)累積分布")

      做出的圖形分別如圖1和圖2所示。

      這里再舉一個例子,對于正態(tài)分布進行簡單模擬。

      假設(shè)正態(tài)分布樣本數(shù)目為5000,進行模擬后畫出正態(tài)分布曲線和樣本直方圖,所用語句如下:

      > n=5000 #設(shè)定樣本數(shù)目

      > x=rnorm(n) #產(chǎn)生偽隨機樣本

      > curve(dnorm(x), xlim=c(-3,3),col="red", lwd=3, lty=1) #畫出標準正態(tài)分布曲線

      > hist(x,probability=T,add=T) #畫出直方圖

      > lines(density(x),col="red", lwd=3, lty=2) #在圖上添加x的模擬密度曲線

      > title(main="正態(tài)分布曲線與直方圖") #添加圖表標題

      所做圖形如圖3所示。由圖可以看出,所產(chǎn)生的模擬曲線與標準正態(tài)分布曲線是比較吻合的,如果樣本空間越大,則吻合度越高。

      3.2 二項分布

      二項分布與貝努力實驗有著極大的聯(lián)系。一個實驗中有兩個實驗:成功(記為1)與失敗(記為0),出現(xiàn)的概率分別為p和1-p,則一次實驗 (稱為貝努力實驗) 成功的次數(shù)服從一個參數(shù)為p的貝努力分布。如果將實驗次數(shù)重復(fù)n次,則實驗成功的次數(shù)服從參數(shù)為(n,p)的二項分布。所以當(dāng)二項分布實驗為1時,就是貝努力分布。

      現(xiàn)在假設(shè)二項分布參數(shù)為f(n,p) n=30,p=0.5的計算機模擬。由貝努力實驗與二項分布的關(guān)系可以將此過程設(shè)計為:

      > n=30 #設(shè)置f(n,p)中n的值為30

      > x=c(1:5000) #將實驗過程模擬為5000次,并將x保存為一個長度為5000的向量記錄實驗結(jié)果

      > for(i in 1:5000){x[i]=sum(sample(c(0,1),n,replace=T))} #設(shè)置循環(huán)過程,在等概率抽樣條件下,將每次試驗中1出現(xiàn)的次數(shù)賦值給相應(yīng)的X向量。

      > hist(x,col="light blue", xlim=c(min(x),max(x)), probability=T, main="二項分布模擬圖") #畫出X的頻率直方圖,并添加圖表標題

      > lines(density(x,bw=1),col="red",lwd=3) #添加模擬分布密度曲線

      畫出的圖形如圖4所示。由此可以看出頻率直方圖及模擬的密度曲線與標準的正態(tài)分布曲線還是比較相似的[4]。如果根據(jù)中心極限定理,當(dāng)隨機變量足夠大時,正態(tài)分布與二項分布是非常接近的。

      4 R語言與統(tǒng)計檢驗

      在數(shù)理統(tǒng)計分析中,只能由估計量估計總體的參數(shù),總體參數(shù)始終是不可知的,只能通過統(tǒng)計檢驗,由統(tǒng)計量推斷總體參數(shù)[5]。一般在統(tǒng)計推斷過程中,對參數(shù)先提出假設(shè),然后根據(jù)假設(shè)進行假設(shè)檢驗。在R語言中包含了多種參數(shù)假設(shè)辦法。下面舉一個檢驗的例子。

      某種元件的壽命X(以小時計算)服從正態(tài)分布Ν(μ,σ2),現(xiàn)測得16只元件的壽命如下:

      149 260 485 210 239 280 191 212

      224 379 179 264 222 362 198 250

      假設(shè)顯著性水平a=0.05,問是否可以認定元件的平均壽命不大于225小時?

      分析:這是一個關(guān)于均值的檢驗問題,可以采用單邊檢測方法,需要檢驗

      由于總體方差未知,故采用t-檢驗方法。檢驗統(tǒng)計量公式為:

      在a=0.05前提條件下,樣本數(shù)量n=16,臨界值t1-a(n-1)=1.7531,則拒絕域{t> 1.7531},根據(jù)公式計算X平均值=256.5,樣本方差s=86.02,所以t=(256.5-225)/(86.02/)=1.4648,因此樣本離差t=1.4648小于臨界值1.7531。因此接受原假設(shè),可以認為元件的平均壽命不大于225小時。

      而在R語言中,計算上述問題只需要下面兩個步驟就可以了。

      > X=c(149,260,485,210,239,280,191,212,224,379,179,264,222,362,198,250)

      > t.test(X,mu=225,alternative='greater')

      得出結(jié)果為:

      One Sample t-test

      data: X

      t = 1.4648, df = 15, p-value = 0.0818

      alternative hypothesis: true mean is greater than 225

      95 percent confidence interval:

      218.8023 Inf

      sample estimates:

      mean of x

      256.5

      在這里沒有給出結(jié)論,但是可以得出t值和p值,從p而判斷是否拒絕原假設(shè)。如果從p值判斷,得出p值為0.0818>0.05,不能拒絕原假設(shè)。則接受H0,因此在a=0.05情況下,可以認為平均壽命不大于225小時。t值的結(jié)果與判斷方式和前面所述一樣。另外參數(shù)alternative可以為“l(fā)ess”,“greater”和“two side”,可以反映出假設(shè)是單邊假設(shè)還是雙邊假設(shè),默認是雙邊假設(shè)。

      5 結(jié)束語

      R語言語法簡單,容易編寫。通過文本的敘述,相信讀者對R語言已經(jīng)有了一定的了解。本文所敘述的只是R語言的一小部分內(nèi)容,讀者可以通過查看相關(guān)參考資料對R語言做進一步的掌握。另外由于R語言是開源軟件,自由免費,非常適合做統(tǒng)計分析和教學(xué)。在目前注重知識產(chǎn)權(quán)的大背景下,掌握和利用好R語言對于統(tǒng)計分析具有重大的現(xiàn)實作用。

      參考文獻:

      [1] smalllleopard. R語言為Hadoop集群數(shù)據(jù)統(tǒng)計分析帶來革命性變化[EB/OL]. (2012-11-10). http://blog.sina.com.cn/s/blog_6cfc336b01018wvt.html.

      [2] 陳希. 基于R語言數(shù)據(jù)挖掘的社交網(wǎng)絡(luò)客戶細分研究[D]. 北京: 北京郵電大學(xué), 2011: 34-40

      [3] 陳毅恒, 梁沛霖. R軟件操作入門[M]. 北京: 中國統(tǒng)計出版社, 2006.

      [4] 葉文春. 淺談R語言在統(tǒng)計學(xué)中的應(yīng)用[J]. 中共貴州省委黨校學(xué)報, 2008(4): 123-125.

      [5] 薛毅, 陳立萍. 統(tǒng)計建模與R軟件[M]. 北京: 清華大學(xué)出版社, 2007.

      猜你喜歡
      R語言統(tǒng)計分析檢驗
      序貫Lq似然比型檢驗
      2021年《理化檢驗-化學(xué)分冊》征訂啟事
      對起重機“制動下滑量”相關(guān)檢驗要求的探討
      基于GPS軌跡數(shù)據(jù)進行分析改善城市交通擁擠
      基于R語言的Moodle平臺數(shù)據(jù)挖掘技術(shù)的研究
      關(guān)于鍋爐檢驗的探討
      如何發(fā)揮新時期統(tǒng)計工作的作用之我見
      以統(tǒng)計分析為基礎(chǔ)的房地產(chǎn)稅收優(yōu)化分析
      注重統(tǒng)計思維培養(yǎng)與應(yīng)用為主導(dǎo)的生物統(tǒng)計學(xué)課程建設(shè)
      台湾省| 普格县| 屏山县| 惠州市| 东乌珠穆沁旗| 建瓯市| 扬州市| 浑源县| 色达县| 宜黄县| 融水| 太和县| 岚皋县| 太湖县| 仲巴县| 瑞昌市| 琼结县| 图们市| 简阳市| 多伦县| 祥云县| 毕节市| 旅游| 土默特左旗| 临高县| 呼图壁县| 桐庐县| 商城县| 双峰县| 全州县| 横山县| 甘德县| 手游| 呼伦贝尔市| 高邑县| 桓仁| 杂多县| 高碑店市| 崇礼县| 西藏| 温泉县|