采样包 - 地层功能的奇怪行为

时间:2013-05-09 16:06:55

标签: r

在功能层中,我宣布从每个层中抽取单位数,并在执行后得到奇怪的结果。单位的数量与我宣布的不同。

以下是示例:

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

我会非常感谢你们。

1 个答案:

答案 0 :(得分: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