• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 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è)
    双峰县| 葵青区| 周口市| 惠安县| 内黄县| 孙吴县| 乡宁县| 台南市| 胶南市| 黄龙县| 九江县| 汽车| 北宁市| 青阳县| 日喀则市| 福建省| 玉溪市| 延边| 化隆| 昭平县| 金湖县| 铜鼓县| 阿合奇县| 赣榆县| 佛教| 徐水县| 偏关县| 青冈县| 崇仁县| 岚皋县| 娄底市| 建平县| 台山市| 亚东县| 仪陇县| 通渭县| 宣武区| 内丘县| 镶黄旗| 安西县| 化德县|