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

?

基于R軟件實現(xiàn)隨機分組及其應(yīng)用

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

基于R軟件實現(xiàn)隨機分組及其應(yīng)用

胡 完1,胡良平1,2*

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

本文目的是使讀者快速掌握用R軟件實現(xiàn)幾種隨機分組的方法。通過借助R軟件中實現(xiàn)隨機抽樣的sample()函數(shù),間接地實現(xiàn)簡單隨機分組和分層隨機分組的目的。事實表明:R軟件易于獲取、易學(xué)易用;R軟件功能強大、適用面寬,可以方便快捷地解決試驗設(shè)計中的隨機分組問題。

R軟件;簡單隨機分組;分層隨機分組;非試驗因素

1 隨機分組的概述[1]

從總體中抽取了規(guī)定數(shù)目的個體或樣品或受試對象,通常還需要將他們隨機分到若干個組里去。各組需要分配多少名個體呢?應(yīng)根據(jù)具體情況確定,各組的個體數(shù)目可以按一定比例來分配,但最好各組的個體數(shù)目相等(在結(jié)果上將產(chǎn)生的誤差最小化)。

如何將規(guī)定數(shù)目的個體按等比例或規(guī)定的某種比例隨機分配到兩組或多組中去的方法被稱為隨機分組。其具體方法有:完全或簡單隨機分組、分層或區(qū)組隨機分組(注:在本質(zhì)上,分層因素與區(qū)組因素都是指重要的非試驗因素)、分層區(qū)組隨機分組(事實上,就是同時考察兩個重要非試驗因素的隨機分組)。

值得一提的是,目前在R軟件中尚未找到直接用于隨機化分組的函數(shù),本文暫且借用隨機抽樣的sample( )函數(shù)來代替。不可避免的問題可能會出現(xiàn),即各組的樣本含量可能不相等。補救措施是改變隨機數(shù)的種子數(shù),直到所生成的隨機分組結(jié)果符合各組樣本含量相等的要求時,固定此隨機數(shù)種子數(shù),并保留程序。以后再運行此程序時,就能再現(xiàn)以前的符合要求的隨機化分組結(jié)果。

2 幾種常見隨機分組方法的R實現(xiàn)[2-5]

2.1 簡單隨機分組

2.1.1 將全部受試對象隨機均分成兩組

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

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

> a<- c(1:24)

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

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

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

以上句的含義如下:

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

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

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

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

ac[1,]"1""對照組"[2,]"2""對照組"[3,]"3""對照組"[4,]"4""對照組"[5,]"5""對照組"[6,]"6""試驗組"[7,]"7""試驗組"[8,]"8""試驗組"[9,]"9""試驗組"[10,]"10""對照組"[11,]"11""試驗組"[12,]"12""對照組"[13,]"13""試驗組"[14,]"14""對照組"[15,]"15""試驗組"[16,]"16""試驗組"[17,]"17""對照組"[18,]"18""對照組"[19,]"19""試驗組"[20,]"20""對照組"[21,]"21""對照組"[22,]"22""試驗組"[23,]"23""試驗組"[24,]"24""試驗組"

以上是將編號為1~24(見a列)的受試對象隨機均分入試驗組與對照組(見c列)。

2.1.2 將全部受試對象隨機均分成三組

【例2】現(xiàn)有編號為1~24的24位受試對象,希望將他們隨機地均分為“試驗組”與“對照組1”和“對照組2”三組中去(即按1:2分配樣品),并顯示出隨機分組的結(jié)果。

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

>a<- c(1:24)

>b<- rep(c("試驗組","對照組1","對照組2"),8)

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

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

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

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

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

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

a c[1,]"1""對照組2"[2,]"2""對照組2"[3,]"3""試驗組"[4,]"4""對照組1"[5,]"5""對照組2"[6,]"6""試驗組"[7,]"7""試驗組"[8,]"8""試驗組"[9,]"9""對照組1"[10,]"10""對照組2"[11,]"11""對照組1"[12,]"12""對照組1"[13,]"13""試驗組"[14,]"14""對照組2"[15,]"15""對照組2"[16,]"16""對照組2"[17,]"17""對照組2"[18,]"18""試驗組"[19,]"19""對照組1"[20,]"20""對照組1"[21,]"21""對照組1"[22,]"22""試驗組"[23,]"23""對照組1"[24,]"24""試驗組"

以上是將編號從1~24的24個樣品(見a列)按1:2的比例隨機化分組的輸出結(jié)果,試驗組、對照組1、對照組2中各包含8個樣品。

如何使某次隨機化分組結(jié)果具有重現(xiàn)性呢?若想使前面剛出現(xiàn)過的隨機化分組結(jié)果再次出現(xiàn),就很困難了。只有事先設(shè)置好隨機化種子[使用set.seed(n),n為非0的正整數(shù)],然后生成隨機化分組結(jié)果;再使用相同的隨機化種子,第二次運行相同的生成隨機化分組的程序,才能得到相同的隨機化分組結(jié)果。若在未來的某個時間,還想生成相同的隨機化分組結(jié)果,事先還得運行與以前使用過的相同的隨機化種子。

> set.seed(2)

> a<- c(1:24)

> b<- rep(c("試驗組","對照組1","對照組2"),8)

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

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

以上的第一句為設(shè)置隨機化種子,后面四句的內(nèi)容與前面程序相同,已解釋過了。

a c[1,]"1""對照組1"[2,]"2""對照組1"[3,]"3""試驗組"[4,]"4""試驗組"[5,]"5""試驗組"[6,]"6""對照組2"[7,]"7""對照組2"[8,]"8""對照組2"[9,]"9""對照組1"[10,]"10""對照組2"[11,]"11""試驗組"[12,]"12""對照組2"[13,]"13""試驗組"[14,]"14""對照組1"[15,]"15""對照組2"[16,]"16""對照組1"[17,]"17""對照組1"[18,]"18""對照組1"[19,]"19""對照組1"[20,]"20""試驗組"[21,]"21""對照組2"[22,]"22""試驗組"[23,]"23""試驗組"[24,]"24""對照組2"

> set.seed(2)

> a<- c(1:24)

> b<- rep(c("試驗組","對照組1","對照組2"),8)

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

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

以上的第一句所設(shè)置的隨機化種子與前面相同,后面四句的內(nèi)容與前面程序也相同,已解釋過了。

a c[1,]"1""對照組1"[2,]"2""對照組1"[3,]"3""試驗組"[4,]"4""試驗組"[5,]"5""試驗組"[6,]"6""對照組2"[7,]"7""對照組2"[8,]"8""對照組2"[9,]"9""對照組1"[10,]"10""對照組2"[11,]"11""試驗組"[12,]"12""對照組2"[13,]"13""試驗組"[14,]"14""對照組1"[15,]"15""對照組2"[16,]"16""對照組1"[17,]"17""對照組1"[18,]"18""對照組1"[19,]"19""對照組1"[20,]"20""試驗組"[21,]"21""對照組2"[22,]"22""試驗組"[23,]"23""試驗組"[24,]"24""對照組2"

以上兩批生成的隨機化分組結(jié)果完全相同,這是由于兩批運行的隨機化種子數(shù)和程序都相同。

2.2 分層或區(qū)組隨機分組

【例3】現(xiàn)有編號為1~24的24位受試對象,男性和女性各12例。試將性別視為分層因素,將各層中的受試對象隨機地均分入試驗組與對照組中去。

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

> set.seed(20160407)

>a<- c(1:24)

>b1<- rep(c("男"),12)

>b2<- rep(c("女"),12)

> c<- c(b1,b2)

> d1<- rep(c("試驗組"),12)

> d2<- rep(c("對照組"),12)

> e<- c(d1,d2)

> f<- sample(e,24,rep=F)

> g<- cbind(a,c,f);g

以上有10行獨立的R語句,其中,最后一行有兩句,用“;”(即英文輸入狀態(tài)下分號)隔開。

第1行:固定隨機數(shù)的種子數(shù)為20160407。

第2行:生成受試對象的編號1~24號,作為向量a的24個元素。

第3、4兩行:生成兩個各有12個元素(或長度為12)的向量b1與b2,其內(nèi)容分別由12個“男”、12個“女”組成。

第5行:將b1與b2兩個向量左右拼接成一個長度為24的向量c。

第6、7兩行:生成兩個各有12個元素(或長度為12)的向量d1與d2,其內(nèi)容分別由12個“試驗組”、12個“對照組”組成。

第8行:將d1與d2兩個向量左右拼接成一個長度為24的向量e。

第9行:調(diào)用sample( )函數(shù),從長度為24的向量e(其元素中,前12個為“試驗組”、后12個為“對照組”)中無放回地隨機抽取24個元素(注意:不能保證各層一定能抽取相同數(shù)目的“試驗組”與“對照組”,如果要保證各層“試驗組”與“對照組”數(shù)目相同,可分別按層進(jìn)行隨機分組),生成向量f。

第10行:前一句是將向量a、c和f按列進(jìn)行合并生成一個數(shù)據(jù)框g;后一句要求輸出數(shù)據(jù)框g的內(nèi)容。

acf[1,]"1""男""試驗組"[2,]"2""男""試驗組"[3,]"3""男""對照組"[4,]"4""男""試驗組"[5,]"5""男""對照組"

[6,]"6""男""對照組"[7,]"7""男""對照組"[8,]"8""男""對照組"[9,]"9""男""試驗組"[10,]"10""男""對照組"[11,]"11""男""試驗組"[12,]"12""男""試驗組"[13,]"13""女""試驗組"[14,]"14""女""對照組"[15,]"15""女""試驗組"[16,]"16""女""試驗組"[17,]"17""女""對照組"[18,]"18""女""對照組"[19,]"19""女""試驗組"[20,]"20""女""對照組"[21,]"21""女""對照組"[22,]"22""女""試驗組"[23,]"23""女""試驗組"[24,]"24""女""對照組"

以上是輸出結(jié)果,第1列為R軟件自動生成的行號;第2列為受試對象的1~24個編號;第3列為受試對象的性別(注意:開始應(yīng)將12位男性受試對象作為第一層編號為1~12號、將12位女性受試對象作為第二層編號為13~24號);第4列相當(dāng)于[因為是借用隨機抽樣函數(shù)(即sample()函數(shù))而不是真正的隨機分組函數(shù)(此種函數(shù)在R中是否存在,筆者暫時尚不能確定)]將各層內(nèi)相同性別的受試對象隨機地均分入“試驗組”與“對照組”。

[1] 胡良平. 課題設(shè)計與數(shù)據(jù)分析—關(guān)鍵技術(shù)與標(biāo)準(zhǔn)模板[M]. 北京: 軍事醫(yī)學(xué)科學(xué)出版社, 2014: 93-103.

[2] 黃文, 王正林. 數(shù)據(jù)挖掘: R語言實戰(zhàn)[M]. 電子工業(yè)出版社, 2015: 34-39.

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

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

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

(本文編輯:唐雪莉)

The realization of the random grouping and its application based on R software

HuWan1,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 help readers to implement random grouping by using R software. The simple random grouping and stratified random grouping are realized with the help of the function of sample(), that is used to implement random sampling. In fact, R software is very easy to obtain, learn and use; and R software is very powerful, wide application, can solve problems about random grouping in the experimental designs conveniently and quickly.

R software; Simple random grouping; Stratified random grouping; Non-experimental factor

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

R195.1

A

10.11886/j.issn.1007-3256.2016.06.003

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

2016-12-05)

猜你喜歡
分組向量分層
向量的分解
聚焦“向量與三角”創(chuàng)新題
一種沉降環(huán)可準(zhǔn)確就位的分層沉降儀
分組搭配
雨林的分層
怎么分組
有趣的分層
分組
向量垂直在解析幾何中的應(yīng)用
向量五種“變身” 玩轉(zhuǎn)圓錐曲線