R語(yǔ)言隨機(jī)抽樣詳解
專(zhuān)題:隨機(jī)抽樣
簡(jiǎn)單隨機(jī)抽樣
從總體中抽取樣本的方法很多,最常用的方法是簡(jiǎn)單隨機(jī)抽樣。
簡(jiǎn)單隨機(jī)抽樣:從容量為N的總體中,任意抽取n個(gè)單位作為樣本,使每個(gè)可能的樣本被抽中的概率相等的一種抽樣方式。
- 放回抽樣(重復(fù)抽樣):本次從整體中抽取的數(shù)據(jù)樣本,在下一次抽取時(shí)同樣有機(jī)會(huì)被抽取。
- 不放回抽樣(不重復(fù)抽樣):一旦被抽取為樣本,下次就不能再被抽取了。
srswr() srswor() sample()
sample函數(shù)
sample可以實(shí)現(xiàn)放回隨機(jī)抽樣和不放回隨機(jī)抽樣,也可以對(duì)數(shù)據(jù)進(jìn)行隨機(jī)分組。
格式:
sample(x, size, replace=FALS, prob=NULL)
參數(shù)說(shuō)明:
參數(shù) | 說(shuō)明 |
---|---|
x | 為向量,表示抽樣的總體,或者是一個(gè)正整數(shù),表示樣本總體為1~n; |
size | 為樣本容量,即要抽取的樣本個(gè)數(shù),是一個(gè)非負(fù)整數(shù); |
replace | 表示是否為有放回的抽樣,是一個(gè)邏輯值,默認(rèn)為FALSE,即默認(rèn)為無(wú)放回抽樣; |
prob | 為權(quán)重向量,即x中元素被抽取到的概率,是一個(gè)取值0~1的向量,其長(zhǎng)度應(yīng)該與x的長(zhǎng)度相同。 |
從26個(gè)大寫(xiě)字母中不放回隨機(jī)抽取5個(gè)
> sample(LETTERS,5) [1] "E" "W" "L" "X" "Q"
將26個(gè)大寫(xiě)字母隨機(jī)分成2組,第2組和第1組的比例為7:3
> n<-sample(2,26,replace = TRUE,prob=c(0.7,0.3)) > n [1] 1 1 2 1 1 2 2 2 1 1 2 1 1 1 2 2 1 2 1 2 1 2 1 1 1 1 > sample1<-LETTERS[n==1] > sample2<-LETTERS[n==2] > sample1 [1] "A" "B" "D" "E" "I" "J" "L" "M" "N" "Q" "S" "U" "W" "X" "Y" "Z" > sample2 [1] "C" "F" "G" "H" "K" "O" "P" "R" "T" "V"
將26個(gè)大寫(xiě)字母隨機(jī)分成3組,每組的個(gè)數(shù)分配比例為0.4,0.4,0.2
> n<-sample(3,26,replace = TRUE,prob = c(0.4,0.4,0.2)) > n [1] 2 1 2 1 3 2 3 1 3 1 1 1 1 2 1 1 2 3 3 1 2 3 3 2 2 3 > sample1<-LETTERS[n==1] > sample1 [1] "B" "D" "H" "J" "K" "L" "M" "O" "P" "T" > sample2<-LETTERS[n==2] > sample2 [1] "A" "C" "F" "N" "Q" "U" "X" "Y" > sample3<-LETTERS[n==3] > sample3 [1] "E" "G" "I" "R" "S" "V" "W" "Z"
有10位學(xué)生的學(xué)號(hào)分別為1,2,…,10,現(xiàn)在要進(jìn)行畢業(yè)答辯,答辯順序要求 隨機(jī)產(chǎn)生。請(qǐng)給出代碼。
> sample(10) [1] 7 9 10 6 3 4 1 2 5 8
> x=c(1,3,5,7) > sample(x,size=20,replace=T, prob=c(0.1,0.2,0.3,0.9)) [1] 5 3 7 7 5 7 7 7 7 5 7 7 7 1 7 3 1 7 1 7
結(jié)論:對(duì)每一個(gè)元素都可以給定一個(gè)概率,且每個(gè)概率是獨(dú)立的,即在參數(shù)prob中,不一定所有元素的概率加起來(lái)等于1,它只代表某元素被抽取的概率而已。
模擬拋硬幣游戲,拋10次,看看出現(xiàn)正面H(Heads)和反面T(Tails)的情況。
將拋硬幣視為有放回的實(shí)驗(yàn),即將參數(shù)replace設(shè)置為T(mén)RUE。
> sample(c("H","F"),10,replace = TRUE) [1] "H" "F" "H" "F" "F" "F" "F" "H" "H" "H"
某籃球運(yùn)動(dòng)員投籃命中率為70%,模擬10次投籃的命中(S)和未命中(F)情況。
> sample(c("S","F"),10,replace = TRUE,prob = c(0.7,0.3)) [1] "S" "S" "F" "S" "S" "S" "F" "S" "S" "S"
srswor函數(shù)
Simple random sampling without replacement
Description:Draws a simple random sampling without replacement of size n (equal probabilities, fixed sample size, without replacement).
Usage:srswor(n,N)
Value:Returns a vector (with elements 0 and 1) of size N, the population size. Each element k of this vector indicates the status of unit k (1, unit k is selected in the sample; 0, otherwise).
> library(sampling) > s<-srswor(10,26) > s [1] 1 0 0 1 0 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 0 0 > obs<-which(s==1) > obs [1] 1 4 7 9 12 13 16 17 21 23 > sample<-LETTERS[obs] > sample [1] "A" "D" "G" "I" "L" "M" "P" "Q" "U" "W"
在26個(gè)中抽取10個(gè),1表示被抽取的狀態(tài),0表示沒(méi)有被抽取狀態(tài)
srswr函數(shù)
Simple random sampling with replacement
Description:Draws a simple random sampling with replacement of size n (equal probabilities, fixed sample size, without replacement).
Usage:srswr(n,N)
Value:Returns a vector of size N, population size. Each element k of this vector indicates the number of replicates for unit k in the sample.
> s<-srswr(10,26) > s [1] 1 2 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 > obs<-which(s!=0) > obs [1] 1 2 6 7 18 19 20 22 > sample<-LETTERS[obs] > sample [1] "A" "B" "F" "G" "R" "S" "T" "V"
分層抽樣
分層抽樣將分成不同子總體(或稱(chēng)為層)的總體中,按規(guī)定的比例從不同層中隨機(jī)抽取樣品(個(gè)體)的方法。
這種方法的優(yōu)點(diǎn)是,樣本的代表性比較好,抽樣誤差比較小。缺點(diǎn)是抽樣手續(xù)較簡(jiǎn)單隨機(jī)抽樣還要繁雜些。
R語(yǔ)言sampling包的sampling::strata()可以實(shí)現(xiàn)
其命令為:
strata(data, stratanames=NULL, size, method=c(“srswor”,“srswr”,“poisson”,“systematic”), pik,description=FALSE)
其中,x為樣本數(shù)據(jù), stratanames為分層抽樣要使用的變量,size為各層抽取個(gè)數(shù),method指的是抽樣方法,“srswor”、“srswr”、“poisson”、"systematic"分別指不重置簡(jiǎn)單抽樣、重置簡(jiǎn)單抽樣、泊松抽樣、系統(tǒng)抽樣,pik指的是各數(shù)據(jù)包含在樣本中的概率,description默認(rèn)為FALSE,若設(shè)置為T(mén)RUE則輸出樣本個(gè)數(shù)和總體個(gè)數(shù)。返回值ID_unit(被選單元的標(biāo)志符)、Stratum(單元層)、Prob(包含單元的概率)
> library(sampling) > x<-strata(c("Species"),size=c(2,3,4),method="srswor",data=iris) > x Species ID_unit Prob Stratum 11 setosa 11 0.04 1 21 setosa 21 0.04 1 68 versicolor 68 0.06 2 83 versicolor 83 0.06 2 98 versicolor 98 0.06 2 102 virginica 102 0.08 3 103 virginica 103 0.08 3 111 virginica 111 0.08 3 112 virginica 112 0.08 3
到此這篇關(guān)于R語(yǔ)言隨機(jī)抽樣的文章就介紹到這了,更多相關(guān)R語(yǔ)言隨機(jī)抽樣內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
R語(yǔ)言服務(wù)器安裝R包實(shí)現(xiàn)過(guò)程
這篇文章主要為大家介紹了R語(yǔ)言在服務(wù)器安裝R包的實(shí)現(xiàn)過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2021-11-11R語(yǔ)言實(shí)現(xiàn)各種數(shù)據(jù)可視化的超詳細(xì)教程
Python語(yǔ)言越來(lái)越流行,尤其是在機(jī)器學(xué)習(xí)與深度學(xué)習(xí)等領(lǐng)域,但是R語(yǔ)言在數(shù)據(jù)分析與可視化方面仍然具有絕對(duì)的優(yōu)勢(shì),下面這篇文章主要給大家介紹了關(guān)于R語(yǔ)言實(shí)現(xiàn)各種數(shù)據(jù)可視化的超詳細(xì)教程,需要的朋友可以參考下2022-11-11R語(yǔ)言如何畫(huà)豎線、橫線、添加標(biāo)簽以及畫(huà)固定長(zhǎng)度的線段
R語(yǔ)言繪圖的能力非常強(qiáng)大,有時(shí)看似繁復(fù)的圖形不過(guò)寥寥數(shù)行代碼就搞定,下面這篇文章主要給大家介紹了關(guān)于R語(yǔ)言如何畫(huà)豎線、橫線、添加標(biāo)簽以及畫(huà)固定長(zhǎng)度的線段的相關(guān)資料,需要的朋友可以參考下2022-11-11R語(yǔ)言 data.frame()命令的使用說(shuō)明
這篇文章主要介紹了R語(yǔ)言 data.frame()命令的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04基于R語(yǔ)言xlsx安裝遇到的問(wèn)題及解決方案
這篇文章主要介紹了基于R語(yǔ)言xlsx安裝遇到的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04R語(yǔ)言基本畫(huà)圖函數(shù)與多圖多線的用法
這篇文章主要介紹了R語(yǔ)言基本畫(huà)圖函數(shù)與多圖多線的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03R語(yǔ)言數(shù)據(jù)類(lèi)型和對(duì)象深入講解
這篇文章主要介紹了R語(yǔ)言數(shù)據(jù)類(lèi)型和對(duì)象深入講解,文中列舉的實(shí)例講解的很清楚,有感興趣的同學(xué)可以學(xué)習(xí)下2021-03-03R語(yǔ)言 Factor類(lèi)型的變量使用說(shuō)明
這篇文章主要介紹了R語(yǔ)言 Factor類(lèi)型的變量使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03