国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

快速學(xué)會使用R軟件的方法

2016-02-24 10:09谷恒明胡良平
四川精神衛(wèi)生 2016年6期
關(guān)鍵詞:語句向量資料

谷恒明,胡良平,2*

(1.軍事醫(yī)學(xué)科學(xué)院生物醫(yī)學(xué)統(tǒng)計學(xué)咨詢中心,北京 100850;2.世界中醫(yī)藥學(xué)會聯(lián)合會臨床科研統(tǒng)計學(xué)專業(yè)委員會,北京 100029

科研方法專題

快速學(xué)會使用R軟件的方法

谷恒明1,胡良平1,2*

(1.軍事醫(yī)學(xué)科學(xué)院生物醫(yī)學(xué)統(tǒng)計學(xué)咨詢中心,北京 100850;2.世界中醫(yī)藥學(xué)會聯(lián)合會臨床科研統(tǒng)計學(xué)專業(yè)委員會,北京 100029

本文目的是使用戶快速了解R軟件的概況和R語言基礎(chǔ),并能快速采用R軟件解決常用試驗(yàn)設(shè)計與統(tǒng)計分析問題。通過扼要介紹R軟件的概況、R語言的基礎(chǔ)知識、在R環(huán)境中讀入和存儲數(shù)據(jù)文件的方法以及用R軟件解決九個與試驗(yàn)設(shè)計和統(tǒng)計分析有關(guān)的實(shí)際問題,使用戶能方便快捷地實(shí)現(xiàn)前述目的。事實(shí)表明:R軟件易于獲取、易學(xué)易用;R軟件功能強(qiáng)大、適用面寬,能解決與試驗(yàn)設(shè)計、數(shù)據(jù)可視化和各種統(tǒng)計分析有關(guān)的問題。

R軟件;函數(shù);向量;矩陣;數(shù)組;數(shù)據(jù)框;列表

1 R軟件概述[1-3]

1.1 R軟件的歷史

新西蘭奧克蘭大學(xué)的Ross Ihaka與Rontleman一道基于S語言開發(fā)了一個面向?qū)ο蟮木幊汰h(huán)境,簡稱為“R軟件”,它是一個免費(fèi)且開源的計算機(jī)運(yùn)行環(huán)境。

1.2 R軟件的功能

R軟件的主要功能是可視化、數(shù)學(xué)計算與統(tǒng)計分析。所謂可視化,就是不僅可以繪制一般的統(tǒng)計圖,還可繪制很多復(fù)雜且精細(xì)的圖形;所謂數(shù)學(xué)計算與統(tǒng)計分析,其所涉獵的范圍也是非常寬泛的。R軟件是迄今為止全球統(tǒng)計軟件中內(nèi)容最豐富的,幾乎涵蓋了全世界已經(jīng)發(fā)現(xiàn)的各種算法,有些雖然暫時可能還沒有加入進(jìn)來,但R軟件包每天都由全世界的學(xué)術(shù)志愿者在追加新的內(nèi)容,而且增加的數(shù)量和速度相當(dāng)可觀。

1.3 R軟件的獲取

由于R軟件是一個免費(fèi)且開源的統(tǒng)計分析軟件,所以R軟件的獲取是極其方便的。建議將R軟件安裝在一直可以上網(wǎng)的計算機(jī)(因?yàn)楸C苡嬎銠C(jī)是不允許與國際互聯(lián)網(wǎng)連接的)上,這樣便于R軟件的更新。

R軟件官網(wǎng)地址:http://www.r-project.org/;與R軟件配套使用的IDE(Integrated Development Environment,集成開發(fā)環(huán)境,簡單可理解為編程工具)的地址:http://www.rstudio.com/。

從前述第一個網(wǎng)址可以下載到最新版本的R軟件;從前述第二個網(wǎng)址可以下載到最新版本的rstudio軟件。

在R軟件環(huán)境中,每次只能輸入一行代碼。當(dāng)然,一行中可以只輸入一個R語言的語句或函數(shù)或命令,也可以輸入多個R語言的語句或函數(shù)或命令,但各語句之間必須用分號隔開。只要一鍵入回車鍵,就立即執(zhí)行。

在rstudio軟件環(huán)境中,一次可以輸入一個文本,還可以將其存儲起來。于是,用戶可以把整個文本選中以后,再一次性提交給系統(tǒng)去執(zhí)行。

1.4 R軟件的界面

在下載并成功安裝了R軟件包后,就會在計算機(jī)桌面上出現(xiàn)一個R軟件快捷方式圖標(biāo),其形狀就是一個筆畫很粗的大寫英文字母“R”。用鼠標(biāo)左鍵雙擊此圖標(biāo),就可以啟動R軟件。在其窗口的左上角上有四行內(nèi)容,從上到下依次為:

第1行為“R RGui(64-bit)”,指明系統(tǒng)為64-位;第2行為菜單欄,分別為“文件”、“編輯”、“查看”、“其他”、“程序包”、“窗口”、“幫助”;第3行為八個快捷圖標(biāo),分別為“打開文件”、“加載工作空間”、“保存工作空間”、“復(fù)制”、“粘貼”、“復(fù)制并粘貼”、“終止當(dāng)前計算”和“打印”;第4行為“R R console”,該行表明在大窗口內(nèi)嵌套著的這個小窗口名叫“R軟件運(yùn)行環(huán)境中與用戶交流信息的控制臺,簡稱控制臺,具體錄入信息或命令的位置在此小窗口的最下面,以‘>’為標(biāo)志,它被稱為‘提示符’”。

若選中菜單欄上的“程序包”,再選擇其中的第一行“加載程序包”,就會彈出一個長方形的窗口。在這個長方形窗口內(nèi)共呈現(xiàn)了約30個對象,它們當(dāng)中有些是“程序包”,還有一些是“函數(shù)”。事實(shí)上,它們之間的區(qū)別就在于:“程序包”中包含多個不同的“函數(shù)”,而“函數(shù)”就是一個完成某項(xiàng)任務(wù)的“獨(dú)立程序”。由此可知,所謂用R軟件包來實(shí)現(xiàn)統(tǒng)計計算或繪制圖形,實(shí)際上就是調(diào)用某個程序包中的某個函數(shù)或調(diào)用一個獨(dú)立的函數(shù)。

1.5 R軟件包中的函數(shù)

1.5.1 R軟件包中程序包和函數(shù)的數(shù)量

R軟件的一切操作幾乎都是通過“對象(注:函數(shù)是最常被使用的一種對象)”來實(shí)現(xiàn)的。從表面上看,R軟件包中有許多“程序包”。粗略地說,迄今為止R軟件包中約有近萬個程序包,其數(shù)目是不確定的。R軟件官方網(wǎng)站(www.r-project.org)上顯示,到2015年12月2日止,已有7562個程序包。但仔細(xì)查看,還有一些程序包(如base、graphic、stats、stats4等)不在列表之中。其實(shí),在很多所謂的“程序包”中,類似base和stats這樣的程序包(其內(nèi)包含很多函數(shù))并非很多,大多數(shù)被冠以“程序包”的東西其實(shí)就是一個“函數(shù)”,例如boot、class等。正因如此,當(dāng)你看到如下的遞增數(shù)目才不會感到驚訝:從R軟件官網(wǎng)上按時間排序的結(jié)果可知:2015年12月1日就增加了大約17個所謂的“程序包”,2015年12月2日就增加了大約23個所謂的“程序包”。事實(shí)上,它們很可能都是“函數(shù)”。

在R軟件的所謂“程序包”中,除了少量真正的程序包與函數(shù)外,還有一些“對象”介于它們二者之間。例如foreign。它既不是一個真正的程序包,也不是一個函數(shù),而是一個R軟件與其他統(tǒng)計軟件(如SAS、SPSS)進(jìn)行數(shù)據(jù)格式互相交換的“界面”,更確切地說,它是一個不同統(tǒng)計軟件信息交換的“接口”。這一點(diǎn)可以通過在R軟件的控制臺發(fā)送下面兩條命令來證實(shí):

>help(foreign)回車

>??foreign回車

第一條命令為啟用“幫助功能”尋求幫助信息。然而,此時會顯示出錯信息;第二條命令為啟用“檢索功能”尋求檢索結(jié)果。檢索的結(jié)果會彈出一個窗口,因篇幅所限,展示窗口的圖片從略。此窗口中的內(nèi)容表明:foreign是一個R軟件與其他統(tǒng)計軟件數(shù)據(jù)格式轉(zhuǎn)換的一個界面或接口(Foreign Function Interface)。

1.5.2 往已安裝的R軟件包中追加新程序包的方法

通過R軟件窗口上的菜單欄“程序包”彈出的長方形窗口可知:在用戶所安裝的R軟件包中,真正的“程序包(其中有些是函數(shù))”的數(shù)量是十分有限的。由此可知,用戶是經(jīng)常需要往已安裝的R軟件包中追加新程序包。具體方法如下:

若需要某些其他程序包時,當(dāng)用戶正在使用的計算機(jī)是與網(wǎng)絡(luò)連接的,可以隨時安裝或更新程序包。例如,現(xiàn)在在線安裝一個新的程序包AggregateR(其實(shí),它是一個函數(shù)。值得注意的是:這個函數(shù)在已出版的有關(guān)R語言的書中是aggregate,后來被更新成AggregateR;原先有tapply函數(shù),現(xiàn)在它似乎被取消掉了,這些都需要在連網(wǎng)計算機(jī)上選定了“鏡像(參見下面的一個段落)”后,從“程序包”窗口中查找才能發(fā)現(xiàn))。具體加載方法如下:

>install.packages(“AggregateR”) 回車

回車后,會立即彈出一個名為“HTTPS CRAN mirror ”長方形窗口(就是讓用戶指定“鏡像”,用通俗的語言表達(dá),就是指定從哪個國家的哪個服務(wù)器上下載用戶所需要的程序包。一般來說,在此窗口中所列出的許多國家的具體服務(wù)器中,R軟件的全部內(nèi)容是基本相同的,只是最近更新時間不同,可能在“新包或函數(shù)”的數(shù)量上略有區(qū)別。通常用戶選擇離自己最近的服務(wù)器,例如中國就有4個服務(wù)器,分別分布在北京、武漢、廣州等地點(diǎn))。

筆者選定“China(Beijing 4) [https]”,然后按“OK”按鈕,計算機(jī)就會從指定“鏡像”上自動下載并安裝所要求的程序包或函數(shù)。

若不使用install.packages( )函數(shù),可通過R軟件的菜單欄中“程序包”彈出的窗口,先選定“設(shè)定CRAN鏡像”,再選定“安裝程序包”來完成與前面類似的任務(wù)。

1.6 R軟件的工作目錄

1.6.1 如何知道R軟件啟動后的工作目錄

啟動R軟件之后,系統(tǒng)會將當(dāng)前工作目錄(即存儲信息的文件夾)自動設(shè)置為安裝R軟件的目錄,通過在控制臺鍵入函數(shù)getwd( ) 回車后顯示的信息,便可得知。

>getwd( )回車

例如,在計算機(jī)上鍵入上述函數(shù)回車后就會顯示如下的信息:

[1] "C:/Users/hu/Documents"

這個輸出結(jié)果表明:在此R軟件中,一旦產(chǎn)生了需要存儲的信息,都將被存儲在C盤上的三級文件夾內(nèi):第一級為“Users”,第二級為“hu”,第三級為“Documents”。

1.6.2 如何改變R軟件的工作目錄

若用戶想改變工作目錄,需要事先創(chuàng)建一個工作目錄。通常就是事先在指定盤上創(chuàng)建一個文件夾,以便在本次啟動R軟件后且在退出R軟件之前將需要存儲的信息存入指定的文件夾中去。例如,在計算機(jī)G盤上創(chuàng)建了一個名為studyr的文件夾,然后選中剛啟動R軟件控制臺界面上的菜單“文件”,再選中彈出的小窗口內(nèi)的“改變工作目錄”,便彈出一個大窗口,再根據(jù)窗口中的提示信息,可以選定用戶的“工作目錄”。

事實(shí)上,改變工作目錄的最簡單方法是在控制臺上輸入函數(shù)“setwd( )”并回車即可。具體方法如下:

>setwd(“G:studyr”) 回車

1.7 如何使用R軟件的幫助功能

R軟件包中有強(qiáng)大的幫助功能,當(dāng)啟動R軟件之后,在其操作窗口的第二行最后位置有菜單“幫助”,選中它后會彈出一個小窗口。根據(jù)此小窗口內(nèi)的提示信息,逐一選中并閱讀,就可找到用戶關(guān)心的很多內(nèi)容及其解決方法。

2 使用R軟件需要了解的基本知識[1-3]

2.1 在R中數(shù)據(jù)的組織形式的概述

使用任何統(tǒng)計軟件時,首先需要提供待分析的數(shù)據(jù)。在R中,有如下多種方法可將數(shù)據(jù)按某種形式組織在一起。然后,R軟件就可對其實(shí)現(xiàn)可視化或統(tǒng)計分析。

2.2 用c()函數(shù)生成向量

2.2.1 生成自然順序的向量

> x1<- c(12:24);x1

[1] 12 13 14 15 16 17 18 19 20 21 22 23 24

以上是生成一個名為x1的向量,其元素分別為12~24的自然數(shù)。

2.2.2 生成指定分量的向量

> x2<- c(13,21,45,19,28,79);x2

[1] 13 21 45 19 28 79

以上是生成一個名為x2的向量,其元素分別為“13、21、45、19、28、79”。

2.3 用matrix()函數(shù)生成矩陣

2.3.1 生成以自然數(shù)為元素的矩陣

> A<- matrix(1:30,nrow=6,ncol=5);A

[,1] [,2] [,3] [,4] [,5]

[1,] 1 7 13 19 25

[2,] 2 8 14 20 26

[3,] 3 9 15 21 27

[4,] 4 10 16 22 28

[5,] 5 11 17 23 29

[6,] 6 12 18 24 30

以上是生成一個名為A的6×5矩陣,其元素分別為“1~30”的自然數(shù),按“列”的順序放置。

> B<- matrix(1:30,nrow=6,ncol=5,byrow=T);B

[,1] [,2] [,3] [,4] [,5]

[1,] 1 2 3 4 5

[2,] 6 7 8 9 10

[3,] 11 12 13 14 15

[4,] 16 17 18 19 20

[5,] 21 22 23 24 25

[6,] 26 27 28 29 30

以上是生成一個名為B的6×5矩陣,其元素分別為“1~30”的自然數(shù),按“行”的順序放置。

2.3.2 生成指定元素的矩陣

> C<- matrix(c(2,4,6,8,7,5,3,1),nrow=2,ncol=4,byrow=T);C

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

[1,] 2 4 6 8

[2,] 7 5 3 1

以上是生成一個名為C的2×4矩陣,其元素分別為“2、4、6、8、7、5、3、1”的自然數(shù),按“行”的順序放置。

2.4 用array()函數(shù)生成數(shù)組

2.4.1 生成二維數(shù)組舉例

>D<- array(data=1:12,dim=c(3,4));D

以上語句的目的是創(chuàng)建一個3行4列的二維數(shù)組并賦值給數(shù)組名D。

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

[1,] 1 4 7 10

[2,] 2 5 8 11

[3,] 3 6 9 12

以上就是所創(chuàng)建的二維數(shù)組D的具體內(nèi)容。

2.4.2 生成三維數(shù)組舉例

>E<- array(data=1:24,dim=c(4,3,2));E

以上語句的目的是創(chuàng)建一個三維數(shù)組,第一個維度為4行、第二個維度為3列、第三個維度為2層。

, , 1

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

[1,] 1 5 9

[2,] 2 6 10

[3,] 3 7 11

[4,] 4 8 12

以上顯示的是第1層上的二維數(shù)組。

, , 2

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

[1,] 13 17 21

[2,] 14 18 22

[3,] 15 19 23

[4,] 16 20 24

以上顯示的是第2層上的二維數(shù)組。

2.5 用factor()函數(shù)生成因子

2.5.1 何為因子

所謂因子,實(shí)際上就是在進(jìn)行試驗(yàn)設(shè)計時需要考察的影響因素。例如,性別(sex)通常只有男(M)與女(F)兩個水平。即使研究者觀測了一萬個人的性別,似乎sex有一萬個取值,但完全不同的取值只有兩個,它們就是性別(sex)這個“因子”的兩個水平。

2.5.2 舉例說明

> sex<- c("M","F","F","M","M","M","F","F","M","F")

以上語句生成一個叫sex的向量,代表已觀測到的10名受試者的性別。

> sex_factor<- factor(sex);sex_factor

以上語句的目的是調(diào)用factor( )函數(shù),將sex變量中的所有觀測歸納成一個叫sex_factor 的因子,并輸出該因子。

[1] M F F M M M F F M F

Levels: F M

以上輸出的結(jié)果表明,該因子的原始觀測值有10個(列在第一行),所形成的水平被列在第二行上,其兩個水平分別為“F”和“M”。

2.6 用data.frame()函數(shù)生成數(shù)據(jù)框

2.6.1 何為數(shù)據(jù)框

在R中,所謂的數(shù)據(jù)框,實(shí)際上就是表達(dá)“數(shù)據(jù)庫結(jié)構(gòu)”的一種表格。此種表格中,假定有n行m列,這n行代表n個受試對象,而這m列代表從每位受試對象身上觀測的m個變量的具體取值。

注意:數(shù)據(jù)框中各列的長度應(yīng)相同,即各列中元素的個數(shù)相同。各列變量的性質(zhì)(數(shù)值型或字符型)可以不同,但同一列中元素的性質(zhì)必須相同。

2.6.2 舉例說明

> sex<- c("M","F","F","M","M","M","F","F","M","F")

> height<- c(165,171,163,184,169,192,158,167,183,176)

> data<- data.frame(sex,height);data

前兩句創(chuàng)建兩個向量,分別為sex和height;第三句創(chuàng)建一個名為data的數(shù)據(jù)框并顯示其內(nèi)容(即將前兩行的內(nèi)容按“列”呈現(xiàn)出來,因篇幅所限,此處從略)。

2.7 用list()函數(shù)生成列表

2.7.1 何為列表

R中的列表(list)是一個有序的對象集合。用戶可以通過列表的位置來引用列表中的元素。在一個列表中,可以放置多種不同的數(shù)據(jù)對象。

2.7.2 列表舉例

>a<-c(1:5)(創(chuàng)建一個向量a)>b<-matrix(1:25,5,5)(創(chuàng)建一個矩陣b)>c<-list(a,b)(創(chuàng)建一個列表c,使其包含a和b)>c(要求輸出列表c的內(nèi)容)

[[1]]

[1] 1 2 3 4 5

(說明:這里顯示了列表中的第一部分內(nèi)容)

[[2]]

[,1] [,2] [,3] [,4] [,5]

[1,] 1 6 11 16 21

[2,] 2 7 12 17 22

[3,] 3 8 13 18 23

[4,] 4 9 14 19 24

[5,] 5 10 15 20 25

(說明:這里顯示了列表中的第二部分內(nèi)容)

3 以文件的方式在R中輸入和輸出數(shù)據(jù)[1-3]

3.1 不同數(shù)據(jù)格式的概述

前面講的內(nèi)容都屬于直接將數(shù)據(jù)放在R程序語句中,以某種組織形式呈現(xiàn)出來。然而,在實(shí)際使用中,用戶經(jīng)常需要從外部文件中讀取以第三方格式(如文本文件、EXCEL文件、SAS數(shù)據(jù)集或SPSS數(shù)據(jù)集等)存儲的數(shù)據(jù),使其成為能被R軟件識別和調(diào)用的某種格式(如數(shù)據(jù)框或矩陣等形式)。當(dāng)然,有時也需要將R中已創(chuàng)建的數(shù)據(jù)集按某種第三方數(shù)據(jù)格式存儲到外部設(shè)備上去。

3.2 向R環(huán)境中讀入和輸出幾種不同格式數(shù)據(jù)的方法

3.2.1 如何用read.table( )函數(shù)在R軟件環(huán)境中以文本格式輸入數(shù)據(jù)

假定我們已將包含“name、drug、blood、age、height、weight、effect”7個變量10個觀測的資料以文本格式的數(shù)據(jù)文件存儲在G盤的studyr的文件夾中,數(shù)據(jù)文件的名稱為raw_data.txt。當(dāng)啟動R軟件后,首先改變工作目錄,使其成為“Gstudyr”。然后在控制臺鍵入如下內(nèi)容:

>x<- read.table("raw_data.txt",header=TRUE) 回車

就可將原先的10行7列數(shù)據(jù)讀入R運(yùn)行環(huán)境中,其數(shù)據(jù)集名稱為x。值得注意的是:若“name、drug、blood”是字符型變量,并假定“name”的具體取值為“帶空格的字符串”(如:ZhangSan)時,創(chuàng)建文本文件時,所有的“帶空格的字符串”必需被放置在英文雙引號之內(nèi),即“"Zhang San"”。

3.3.2 如何用write.table( )函數(shù)在R軟件環(huán)境中以文本格式輸出數(shù)據(jù)

第一步:在控制臺上使用下面的命令,可為已創(chuàng)建的數(shù)據(jù)集total_data指定一個輸出文件名new_output1:

>write.table(total_data,file="new_output1")

第二步:在控制臺上使用下面的命令,可將已創(chuàng)建的數(shù)據(jù)集total_data以文本文件的格式且文件名為new_output1存入當(dāng)前工作目錄中:

>write.table(total_data,file="new_output1",quote=FALSE,row.names=FALSE,col.names=TRUE)

其中,某些參數(shù)的含義如下:

quote=FALSE要求各列變量及其取值不加引號。

row.names=FALSE要求各行前不加行名稱(注:行名稱就是行號)。

col.names=TRUE要求各列頭上應(yīng)該保留變量名。

說明:上面僅介紹了“文本格式”的數(shù)據(jù)的讀入和存儲方法,因篇幅所限,其他格式的數(shù)據(jù)文件的讀入與存儲方法,參見文獻(xiàn)[1-3],此處從略。

4 用R軟件解決試驗(yàn)設(shè)計與統(tǒng)計分析問題舉例[1-4]

4.1 用R產(chǎn)生隨機(jī)數(shù)并繪制直方圖舉例

【例1】試生成10 000個服從均值為165 cm、標(biāo)準(zhǔn)差為20 cm的正態(tài)分布的隨機(jī)數(shù),并用直方圖展示它們(模擬某地10 000個正常成年人的身高數(shù)據(jù))。

解答:為實(shí)現(xiàn)題中的目標(biāo),可使用下面的語句(說明:每個語句開始的“>”為R軟件的提示符,下同,不再贅述)。

> x<- rnorm(10000,165,20)

> hist(x,prob=T,main="normal distribution(mean=165 cm,sigma=20 cm)")

第一句的目的是生成10 000個服從均值為165 cm、標(biāo)準(zhǔn)差為20 cm的正態(tài)分布的隨機(jī)數(shù)。

第二句的目的是繪制這10 000個隨機(jī)數(shù)的直方圖。

產(chǎn)生的結(jié)果從略。

4.2 用R進(jìn)行隨機(jī)抽樣舉例

【例2】假定擲一枚質(zhì)地均勻的骰子(有6個面,每個面上分別有1、2、3、4、5、6個點(diǎn)),現(xiàn)重復(fù)拋骰子20次,顯示有放回隨機(jī)抽樣的結(jié)果。

解答:在R中使用下面的語句就可實(shí)現(xiàn)前述的目的。

> sample(c(1:6),20,rep=T)

[1] 3 2 4 1 5 1 6 1 6 4 3 6 3 6 5 6 4 4 2 2

以上是20次試驗(yàn)的結(jié)果,每次試驗(yàn)的結(jié)果是1~6六個數(shù)字中的一個出現(xiàn)。這批試驗(yàn)的結(jié)果表明,1出現(xiàn)了3次、2出現(xiàn)了3次、3出現(xiàn)了3次、4出現(xiàn)了4次、5出現(xiàn)了2次、6出現(xiàn)了4次。

4.3 用R進(jìn)行隨機(jī)分組舉例

【例3】現(xiàn)有編號為1到24號的24位受試對象,希望將他們隨機(jī)地均分為“試驗(yàn)組”與“對照組”中去,并顯示出隨機(jī)分組的結(jié)果。

解答:在R中使用下面的語句就可實(shí)現(xiàn)前述的目的。

> a<- c(1:24)

> b<- rep(c("試驗(yàn)組","對照組"),12)

> c<- sample(b,24,rep=F)

> d<- cbind(a,c);d

以上語句的含義如下:

第一句:生成一個名為a的向量,其元素為1~24。

第二句:生成一個名為b的向量,其元素由“試驗(yàn)組”和“對照組”交替組成,共重復(fù)12次,故元素個數(shù)為24。

第三句:生成一個向量c,其元素是從向量b中無放回隨機(jī)抽樣的結(jié)果,抽出24個元素,本質(zhì)上,相當(dāng)于對向量b中的24個元素進(jìn)行隨機(jī)化排列。

第四句:將向量a與c按列進(jìn)行合并,生成一個向量d,并將其輸出(從略)。

輸出結(jié)果顯示:將編號為1~24號(見a列)的受試對象隨機(jī)均分入試驗(yàn)組與對照組(見c列)。

4.4 用R估計樣本含量舉例

【例4】假定有兩種處理方法,有一個定量評價指標(biāo)。已知兩組的均值之差量為1.58、合并標(biāo)準(zhǔn)差為5.97、顯著性水準(zhǔn)為0.05、檢驗(yàn)效能為80%。試估計各組至少需要多大的樣本含量。

解答:這是一個單因素兩水平設(shè)計一元定量資料假設(shè)檢驗(yàn)之前估計樣本含量的問題,在R的控制臺上發(fā)送下面的一條命令,就可實(shí)現(xiàn)。

> power.t.test(power=0.80,sig.level=0.05,delta=1.58,sd=5.97)

輸出結(jié)果顯示:每組應(yīng)選取約226例。

4.5 用R估計檢驗(yàn)效能舉例

【例5】假定有兩種處理方法,有一個定量評價指標(biāo)。已知兩組的均值之差量為1.58、合并標(biāo)準(zhǔn)差為5.97、顯著性水準(zhǔn)為0.05、各組的樣本含量均為226例。試估計能達(dá)到的檢驗(yàn)效能是多大。

解答:這是一個單因素兩水平設(shè)計一元定量資料假設(shè)檢驗(yàn)之前估計檢驗(yàn)效能的問題,在R的控制臺上發(fā)送下面的一條命令,就可實(shí)現(xiàn)。

>power.t.test(n=226,sig.level=0.05,delta=1.58,sd=5.97)

輸出結(jié)果顯示:檢驗(yàn)效能大約為80.16%。

4.6 用R分析定性資料舉例

【例6】試分析文獻(xiàn)[4]中第374頁的“表13-3”的資料。

解答:該資料屬于橫斷面研究設(shè)計的四格表資料,對該資料進(jìn)行χ2檢驗(yàn)所需要的R程序如下。

> rownum<- c(41,32)

> colnum<- c(43,8)

> chisq.test(rbind(rownum,colnum))

【結(jié)論】該校男、女學(xué)生英語六級考試通過率不等,由數(shù)據(jù)顯示,女生通過率高于男生。

4.7 用R分析定量資料舉例

【例7】試分析文獻(xiàn)[4]中第268頁的“例8-5”的資料。

解答:該資料屬于單因素兩水平設(shè)計一元定量資料,用R對此資料進(jìn)行差異性分析(包括前提條件的檢驗(yàn))所需要的程序如下。

>x1<- c(66,65,66,68,62,65,63,66,68,62)

>x2<- c(64,61,57,65,65,63,62,63,64,60)

>shapiro.test(x1)

>shapiro.test(x2)

>var.test(x1,x2)

>t.test(x1,x2,alternative="two.sided",var.equal=TRUE)

>t.test(x1,x2,alternative="two.sided",var.equal=FALSE)

>wilcox.test(x1,x2)

輸出結(jié)果表明:兩組定量資料均滿足正態(tài)性和方差齊性要求(故近似t檢驗(yàn)與秩和檢驗(yàn)的結(jié)果都可以不看了);可以采用單因素兩水平設(shè)計一元定量資料t檢驗(yàn)分析資料。其結(jié)果為:t=2.5705,df=18,P=0.01926,說明兩個平均值(65.1與62.4)之間差異有統(tǒng)計學(xué)意義。

【結(jié)論】此小麥品種第5代平均株高高于第6代平均株高,株高性狀沒有達(dá)到穩(wěn)定狀態(tài)。

4.8 用R實(shí)現(xiàn)簡單相關(guān)分析舉例

【例8】采用文獻(xiàn)[4]中第419頁的“表16-1”的資料,進(jìn)行簡單相關(guān)分析。

解答:該資料屬于單組設(shè)計二元定量資料,用R對此資料進(jìn)行直線相關(guān)分析所需要的程序如下。

第一步,將資料按文本格式存儲在指定位置上,例如,存儲在G:study文件夾中,文件名為xuejiaxinjijia.txt,其第一行可以為變量名,第一列與第二列分別為變量x、y及其取值。

第二步,編寫R語句,讀入數(shù)據(jù)。

> dataset<- read.table("G:/studyr/xuejiaxinjijia.txt",header=T)

第三步,編寫R語句,調(diào)用plot()函數(shù),考察兩變量之間的散布圖是否呈現(xiàn)線性變化趨勢。

> plot(y~x,data=dataset)

繪出的散布圖(此處從略)顯示,散點(diǎn)呈先線性變化趨勢,可以進(jìn)行直線相關(guān)分析。

第四步,編寫R語句,調(diào)用cor.test()函數(shù),對兩定量變量進(jìn)行Pearson直線相關(guān)分析(包括求出相關(guān)系數(shù)及其置信區(qū)間和假設(shè)檢驗(yàn))。

> cor.test(~y+x,data=dataset)

輸出結(jié)果表明:r=0.8463629,總體相關(guān)系數(shù)ρ的95%置信區(qū)間為[0.6456651,0.9376883];采用t檢驗(yàn)考察總體相關(guān)系數(shù)為零的零假設(shè)是否成立,得:

t=6.742,df=18,P<0.000 1,說明總體相關(guān)系數(shù)不為零。

【結(jié)論】正常人血液中鉀元素含量(mmol/L)與心肌中鉀元素平均含量(mg/g)之間呈正向線性變化趨勢。

4.9 用R實(shí)現(xiàn)直線回歸分析舉例

【例9】采用文獻(xiàn)[4]中第419頁的“表16-1”的資料,以心肌中鉀元素平均含量為因變量y、以血液中鉀元素含量為自變量x,進(jìn)行直線回歸分析。

解答:這是一個簡單直線回歸分析問題,創(chuàng)建文本文件和繪制散布圖同前例(此處從略),下面只寫出與讀取數(shù)據(jù)、構(gòu)建直線回歸方程和輸出計算結(jié)果有關(guān)的語句。

> dataset<- read.table("G:/studyr/xuejiaxinjijia.txt",header=T)

> equation<- lm(y~x,data=dataset)

> summary(equation)

輸出結(jié)果表明:截距、斜率與0之間的差別均有統(tǒng)計學(xué)意義。

[1] 李詩羽, 張飛, 王正林. 數(shù)據(jù)分析: R語言實(shí)戰(zhàn)[M]. 電子工業(yè)出版社, 2015: 8-15, 134-156.

[2] 方匡南, 朱建平, 姜葉飛. R 數(shù)據(jù)分析: 方法與案例詳解[M]. 電子工業(yè)出版社, 2015: 1-12, 54-73,126-168.

[3] Joseph Adler. R語言核心技術(shù)手冊[M]. 2版. 劉思喆, 李艦, 陳鋼, 等譯. 北京: 電子工業(yè)出版社, 2015: 3-49, 389-421.

[4] 胡良平. SAS常用統(tǒng)計分析教程[M]. 2版. 北京: 電子工業(yè)出版社, 2015: 264-391, 419-434.

(本文編輯:陳 霞)

科研方法專題策劃人——胡良平教授簡介

胡良平,男,1955年8月出生,教授,博士生導(dǎo)師,曾任軍事醫(yī)學(xué)科學(xué)院研究生部醫(yī)學(xué)統(tǒng)計學(xué)教研室主任和生物醫(yī)學(xué)統(tǒng)計學(xué)咨詢中心主任、國際一般系統(tǒng)論研究會中國分會概率統(tǒng)計系統(tǒng)專業(yè)理事會常務(wù)理事和北京大學(xué)口腔醫(yī)學(xué)院客座教授;現(xiàn)任世界中醫(yī)藥學(xué)會聯(lián)合會臨床科研統(tǒng)計學(xué)專業(yè)委員會會長、中國生物醫(yī)學(xué)統(tǒng)計學(xué)會副會長,《中華醫(yī)學(xué)雜志》等10余種雜志編委和國家食品藥品監(jiān)督管理局評審專家。主編統(tǒng)計學(xué)專著45部,參編統(tǒng)計學(xué)專著10部;發(fā)表第一作者學(xué)術(shù)論文220余篇,發(fā)表合作論文130余篇,獲軍隊科技成果和省部級科技成果多項(xiàng);參加并完成三項(xiàng)國家標(biāo)準(zhǔn)的撰寫工作;參加三項(xiàng)國家科技重大專項(xiàng)課題研究工作。在從事統(tǒng)計學(xué)工作的30年中,為幾千名研究生、醫(yī)學(xué)科研人員、臨床醫(yī)生和雜志編輯講授生物醫(yī)學(xué)統(tǒng)計學(xué),在全國各地作統(tǒng)計學(xué)學(xué)術(shù)報告100余場,舉辦數(shù)十期全國統(tǒng)計學(xué)培訓(xùn)班,培養(yǎng)多名統(tǒng)計學(xué)專業(yè)碩士和博士研究生。近幾年來,參加國家級新藥和醫(yī)療器械項(xiàng)目評審數(shù)十項(xiàng)、參加100多項(xiàng)全軍重大重點(diǎn)課題的統(tǒng)計學(xué)檢查工作。歸納并提煉出有利于透過現(xiàn)象看本質(zhì)的“八性”和“八思維”的統(tǒng)計學(xué)思想,獨(dú)創(chuàng)了逆向統(tǒng)計學(xué)教學(xué)法和三型理論。擅長于科研課題的研究設(shè)計、復(fù)雜科研資料的統(tǒng)計分析與SAS實(shí)現(xiàn)、各種層次的統(tǒng)計學(xué)教學(xué)培訓(xùn)和咨詢工作。

How to learn the usage of R software quickly

GuHengming1,HuLiangping1,2*

(1.ConsultingCenterofBiomedicalStatistics,AcademyofMilitaryMedicalSciences,Beijing100850,China; 2.SpecialtyCommitteeofClinicalScientificResearchStatisticsofWorldFederationofChineseMedicineSocieties,Beijing100029,China

*Correspondingauthor:HuLiangping,E-mail:lphu812@sina.com)

The purpose of this paper is to enable users to know the general situation of R software and the foundation of R language, and use R software to solve the general problems of the experimental design and statistical analysis rapidly. Users easily and quickly achieve the aim mentioned above through the brief introduction of R software, the basic knowledge of R language, the method of accessing data in the R environment, and using R software to solve the actual problems related to nine experimental designs and statistical analyses. The fact shows that R software is easy to obtain, learn and use; R software can solve the experimental designs, data visualization and various issues related to statistical analyses due to its the powerful function and wide application scope.

R software; Function; Vector; Matrix; Array; Data Frame; List

*通信作者:胡良平,E-mail:lphu812@sina.com)

195.1

A

10.11886/j.issn.1007-3256.2016.06.001

國家高技術(shù)研究發(fā)展計劃課題資助(2015AA020102)

2016-12-03)

猜你喜歡
語句向量資料
向量的分解
聚焦“向量與三角”創(chuàng)新題
Party Time
PAIRS & TWOS
JUST A THOUGHT
重點(diǎn):語句銜接
向量垂直在解析幾何中的應(yīng)用
向量五種“變身” 玩轉(zhuǎn)圓錐曲線
如何搞定語句銜接題
作文語句實(shí)錄
河曲县| 宁武县| 苍溪县| 铜川市| 荔浦县| 肇源县| 丹凤县| 永城市| 清徐县| 江永县| 永宁县| 曲周县| 林甸县| 青岛市| 四川省| 泸西县| 鹤庆县| 凤庆县| 陆丰市| 桂阳县| 沈丘县| 盖州市| 望都县| 杂多县| 泸定县| 蒙山县| 进贤县| 如皋市| 喀什市| 桃源县| 凤城市| 思茅市| 齐齐哈尔市| 锡林浩特市| 什邡市| 健康| 北京市| 辽阳县| 闽清县| 于都县| 东至县|