今天有朋友諮詢我怎麼寫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...