正如
nico所指出的那样,您可能只需要使用
unique
函数。以下是一个非常简单的抽样程序,它确保在组之间不会重复(这并不完全合理,因为您可以创建一个大样本...)。
set.seed(seed = 14412)
thevalues <- sample(x = 1:100,size = 1000,replace = TRUE)
thevalues.unique <- unique(thevalues)
sample1 <- sample(x = thevalues.unique,size = 10,replace = FALSE)
thevalues.unique <- thevalues.unique[!(thevalues.unique %in% sample1)]
sample2 <- sample(x = thevalues.unique,size = 10,replace = FALSE)
thevalues.unique <- thevalues.unique[!(thevalues.unique %in% sample2)]
为了实现
eipi10 提到的加权分布,您需要首先获取分布频率。一种方法如下:
set.seed(seed = 14412)
thevalues <- sample(x = 1:100,size = 1000,replace = TRUE,prob = c(rep(0.01,100)))
thevalues.unique <- unique(thevalues)
thevalues.unique <- thevalues.unique[order(thevalues.unique)]
thevalues.probs <- table(thevalues)/length(thevalues)
sample1 <- sample(x = thevalues.unique,
size = 10,
replace = FALSE,
prob = thevalues.probs)