2013-05-09 47 views
0

在函數層我聲明從每個層中繪製單位的數量,並在執行它之後,我得到了奇怪的結果。單位的數量與我聲明的不同。採樣包 - 地層功能的奇怪行爲

這裏是例子:

library(sampling) 
data(swissmunicipalities) 
st=strata(swissmunicipalities,stratanames=c("REG"),size=c(30,20,45,15,20,11,44),method="srswor") 

結果:

> table(st$REG) 
1 2 3 4 5 6 7 
20 15 45 30 20 11 44 

應該是:

30,20,45,15,20,11,44 

我將是anwsers非常感謝。

回答

1

如果你看過階層功能的幫助頁面,您可以:

size: vector of stratum sample sizes (in the order in which the 
     strata are given in the input data set). 

讓我們來看看這個順序號是在REG可變

require(sampling) 
data(swissmunicipalities) 
swiss <- swissmunicipalities 
unique(swiss$REG) 
## [1] 4 1 3 2 5 6 7 

正如你可以看到他們不是自然而然的,所以你有兩種選擇。

第一個選項,按照與原始數據相同的順序寫入大小。

size <- c(15, 30, 45, 20, 20, 11, 44) 
st <- strata(swiss, stratanames = "REG", size = size, method = "srswor") 
table(st$REG) 
## 1 2 3 4 5 6 7 
## 30 20 45 15 20 11 44 

第二個選項,第一個對數據進行排序,並保持你的尺寸,你先寫

swiss <- swiss[order(swiss$REG), ] 
st <- strata(swiss, stratanames = "REG", size = c(30, 20, 45, 15, 20, 11, 44), 
method = "srswor") 
table(st$REG) 
## 1 2 3 4 5 6 7 
## 30 20 45 15 20 11 44 
+0

謝謝,我忘了這一點。 :) – Maciej 2013-05-09 19:33:34