如果您阅读了 strata 函数的帮助页面,您将拥有:
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