国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

R語(yǔ)言筆記-sample()函數(shù)

2019-11-08 01:55:21
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在醫(yī)學(xué)統(tǒng)計(jì)學(xué)或者流行病學(xué)里的現(xiàn)場(chǎng)調(diào)查、樣本選擇經(jīng)常會(huì)提到一個(gè)詞:隨機(jī)抽樣。隨機(jī)抽樣是為了保證各比較組之間均衡性的一個(gè)很重要的方法。那么今天介紹的第一個(gè)函數(shù)就是用于抽樣的函數(shù)sample:

> x=1:10> sample(x=x) [1] 3 5 9 6 10 7 2 1 8 4

第一行代碼表示給x向量賦值1~10,第二行代碼表示對(duì)x向量進(jìn)行隨機(jī)抽樣。結(jié)果輸出為每次抽樣抽得的結(jié)果,可以看出該抽樣為無(wú)放回抽樣——最多抽n次,n為x向量中元素的個(gè)數(shù)。 如果想指定在該向量中抽取元素的個(gè)數(shù),需要加一個(gè)參數(shù)size:

> x=1:1000> sample(x=x,size=20) [1] 66 891 606 924 871 374 879 573 284 305 914 792 398 497 721 897 324 437[19] 901 33

這是在1~1000的正整數(shù)中抽樣,其中size指定抽樣的次數(shù),抽了20次,結(jié)果如上所示。

這些都是無(wú)放回抽樣。所謂無(wú)放回抽樣,也就是說(shuō)某個(gè)元素一旦被選擇,該總體中就不會(huì)再有該元素。如果是有放回抽樣,則需添加一個(gè)參數(shù)repalce=T:

> x=1:10> sample(x=x,size=5,replace=T)[1] 4 7 2 4 8

“replace”就是重復(fù)的意思。即可以重復(fù)對(duì)元素進(jìn)行抽樣,也就是所謂的有放回抽樣。我們看上面的結(jié)果,元素4在5次隨機(jī)抽樣的過(guò)程中被抽取了兩次。

R語(yǔ)言代碼有一個(gè)特性就是“對(duì)位性”,也許我的詞不專業(yè),但是它的意思就是:如果我們輸入代碼的位置與某個(gè)函數(shù)中參數(shù)的位置一一對(duì)應(yīng)的話,我們可以不寫(xiě)該函數(shù)的參數(shù),如:

> x=1:10> sample(x,20,T) [1] 1 2 2 1 5 5 5 9 9 5 2 9 8 3 4 8 8 8 1 1

在上述代碼中我們省略了參數(shù)x,size和repalce,但是仍然可以運(yùn)算并且表示對(duì)x向量有放回隨機(jī)抽取20次。我們之所以盡量在每次編寫(xiě)代碼時(shí)帶上參數(shù)是因?yàn)槲矣X(jué)得這個(gè)習(xí)慣比較好,而且看起來(lái)清楚明白。另外,省略參數(shù)的前提是你非常熟悉某個(gè)函數(shù)參數(shù)的位置,否則一旦沒(méi)有“對(duì)位”,那么結(jié)果肯定是錯(cuò)誤的。而且很多函數(shù)有較多的參數(shù),想記住它們的位置是困難的。而如果帶上參數(shù),那么即使位置不對(duì)應(yīng),也一樣可以運(yùn)算:

> x=1:10> sample(size=20,replace=T,x=x) [1] 4 9 2 6 4 5 4 7 10 5 2 2 3 4 2 4 6 8 7 8

這種優(yōu)點(diǎn)顯而易見(jiàn),不僅清楚,而且無(wú)需對(duì)應(yīng)。另外我們也可以看出,有放回抽樣的話size可以無(wú)窮大,而無(wú)放回抽樣size的大小就取決于總體的容量了。 對(duì)于擲骰子,投硬幣(這可能是介紹抽樣必介紹的內(nèi)容),都屬于有放回抽樣。

這里要說(shuō)明,對(duì)于sample函數(shù),參數(shù)x可以是數(shù)值,也可以是字符,實(shí)際上參數(shù)x代表任意一個(gè)向量:

> a=c("A","B")> sample(x=a,size=10,replace=T) [1] "B" "A" "A" "A" "B" "A" "A" "B" "A" "A"

上述代碼可以理解為擲硬幣,拋了10次,其中正面(A)與反面(B)出現(xiàn)的次數(shù)。

上述抽樣過(guò)程,每一個(gè)元素被抽取的概率相等,稱為隨機(jī)抽樣。

有時(shí)候我們的抽取元素的概率未必相等(如常見(jiàn)的二項(xiàng)分布概率問(wèn)題),此時(shí)我們需要添加一個(gè)參數(shù)PRob,也就是“probability”(概率)的縮寫(xiě)。假設(shè)一名醫(yī)生給患者做某手術(shù)成功的概率是80%,那么現(xiàn)在他給20例病人做手術(shù),可能有哪幾次是成功的呢?代碼如下:

> x=c("S","F")> sample(x,size=20,replace=T,prob=c(0.8,0.2)) [1] "F" "S" "S" "S" "S" "S" "S" "S" "S" "S" "S" "S" "F" "S" "S" "F" "S" "S"[19] "F" "S"

其中“S”代表成功,“F”代表失敗。

> x=c(1,3,5,7)> sample(x,size=20,replace=T,prob=c(0.1,0.2,0.3,0.9)) [1] 3 5 7 3 7 3 7 5 3 7 7 7 1 5 7 5 7 7 3 7

這些代碼告訴我們,對(duì)每一個(gè)元素都可以給定一個(gè)概率,且每個(gè)概率是獨(dú)立的,即在參數(shù)prob中,不一定所有元素的概率加起來(lái)等于1,它只代表某元素被抽取的概率而已。

對(duì)于sample函數(shù),其參數(shù)x可以是R中任意一個(gè)對(duì)象(如上述對(duì)字符的抽樣)。其中還有一個(gè)功能相同的函數(shù)sample.int,“int”即“intger”的縮寫(xiě),也就是“整數(shù)”。它的參數(shù)n必須是正整數(shù):

> x=-10.5:7.5> sample(x=x,size=3);sample.int(n=x,size=3)[1] -5.5 -7.5 0.5Error in sample.int(x, size = 3) : invalid first argument

第一行代碼生成了-10.5到7.5的等差數(shù)列,結(jié)果輸出的第一行是sample的結(jié)果;第二行是sample.int的結(jié)果,提示錯(cuò)誤:“第一個(gè)自變量無(wú)效”,因?yàn)樗皇钦麛?shù)。其余的用法與sample是一樣的。

摘選自 http://www.wtoutiao.com/p/186VWin.html


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 玛多县| 江城| 上林县| 皋兰县| 镇原县| 石渠县| 象山县| 儋州市| 永年县| 南汇区| 和林格尔县| 岗巴县| 西乌| 张北县| 封丘县| 黑龙江省| 大名县| 余庆县| 衡南县| 长兴县| 成安县| 丰城市| 会东县| 卓尼县| 高陵县| 赞皇县| 鲁山县| 洛隆县| 延庆县| 喀喇沁旗| 固镇县| 曲周县| 叶城县| 乌拉特前旗| 泰来县| 北流市| 和静县| 青海省| 望都县| 沛县| 通河县|