R語言 PPS抽樣

2021-07-25 10:11:37 字數 1683 閱讀 7974

今天有朋友諮詢我怎麼寫pps抽樣的**,試著找了下,找到乙個實現pps抽樣的r包。

pps 抽樣是指按概率比例抽樣,屬於概率抽樣中的一種。是指在多階段抽樣中,尤其是二階段抽樣中,初級抽樣單位被抽中的機率取決於其初級抽樣單位的規模大小,初級抽樣單位規模越大,被抽中的機會就越大,初級抽樣單位規模越小,被抽中的機率就越小。就是將總體按一種準確的標準劃分出容量不等的具有相同標誌的單位在總體中不同比率分配的樣本量進行的抽樣。

r語言原始碼:

function

(m, x)

return

(cbind(sam, pk[sam]))

}

這段**來自r包:teachingsampling,從**便可以知道它的原理。

例子:

> library(teachingsampling)

> data

(lucy)

> attach(lucy)

the following objects are masked from lucy (pos = 3):

employees, id, income, level, spam, taxes, ubication, zone

> res<-s.pps(400,income)#基於income抽樣

> head(res)

sam

[1,] 894

0.0002994541

[2,] 1717

0.0006278877

[3,] 49

0.0003226377

[4,] 2336

0.0015590934

[5,] 194

0.0003187737

[6,] 1700

0.0007921045

> sam <- res[,1]

> head(sam)

[1] 894

1717

492336

1941700

> data

<- lucy[sam,]#得到的抽樣樣本

> head(data)

idubication

level

zone

income

employees

taxes

spam

894ab2054 c10k3 small

c310

944 yes

1717

ab1145 c18k34 medium

a650

11721 yes

49ab050 c1k49 small

a334

165 no

2336

ab1126 c25k59 big

a1614

159138 yes

194ab1398 c2k95 small

b330

394 yes

1700

ab1122 c18k17 medium

a820

8234 yes

> dim(data)

[1] 400

8

理論部分的解釋請看:

R語言抽樣的問題

sample x,size,replace f t x是資料集,size規定了從物件中抽出多少個數 replace 為f時候,表示每次 抽取後的數就不能在下一次被抽取 t表示抽取過的數可以繼續拿來被抽取。以某兩類資料為目標做抽樣,其中一類樣本數量特別小,一類樣本數特別大,這就是不平衡的情況。對應處理...

R語言 資料抽樣的實現

這裡主要介紹簡單隨機抽樣 分層抽樣 整群抽樣三種基本抽樣方法。用到的軟體包及函式 軟體包函式 函式意義 base 無需載入,預設含有 sample 簡單隨機抽樣 stratr 分層抽樣 cluster 整群抽樣 實現簡單的三七原則分割資料集和驗證集 x 帶抽取物件 size 想要抽取的樣本數量 re...

R隨機抽樣

x為總體向量 n為樣本容量 replace f表示無放回抽樣 replace t表示放回抽樣 prob可以設定不等概率抽樣 sample x,n,replace f,prob null 用r模擬擲硬幣 h表示正面 t表示反面 有放回抽樣 sample c h t 10,replace t 1 h t...