在功能层中,我宣布从每个层中抽取单位数,并在执行后得到奇怪的结果。单位的数量与我宣布的不同。
以下是示例:
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
我会非常感谢你们。
答案 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