如何执行分层样本
How to execute a stratified sample
生成具有可变输入和可变权重的加权分层样本。预期输入是具有不同级别的整数的可变长度因子。
我试图避免对权重和层次进行硬编码,因为它们可能会有所不同。关于分层抽样的堆栈交换有很多问题,但是 none 我可以看到避免硬编码值。
我对 R 还是有点陌生,尝试过各种方法:survey::svydesign() 和 sampling::balancedstratification()。 None 似乎采用频率比例向量作为权重。
variable_vector <- as.factor(c(1, 1, 1, 2, 2, 2, 2, 3))
freq_prop <- prop.table(table(factor_vector))
library(survey)
mysdesign <- svydesign(id = ~1,
strata = ~levels(variable_vector),
data = variable_vector,
fpc = freq_prop)
library(sampling)
sampling::balancedstratification(variable_vector,
strata = levels(variable_vector),
pik = freq_prop)
以上方法均无效。
freq_prop 的输出是
[1] 0.375 0.500 0.125
Now I need a way of generating random samples of size 30 for example:
sample size 1 = 30 * 0.375
sample size 2 = 30 * 0.500
sample size 3 = 30 * 0.125
您可以使用 base-r
sample
生成随机样本。例如,要使用 1,2
和 3
分别具有 0.375, 0.5, 0.125
概率的集合的元素 {1,2,3}
生成随机样本大小 30
,我们可以这样做以下
set.seed(777)
r_sample<- sample(c(1,2,3), size=30, replace = TRUE, prob = c(0.375, 0.5, 0.125))
table(r_sample)
# r_sample
# 1 2 3
# 13 14 3
您还可以?sample
查看帮助页面。
生成具有可变输入和可变权重的加权分层样本。预期输入是具有不同级别的整数的可变长度因子。
我试图避免对权重和层次进行硬编码,因为它们可能会有所不同。关于分层抽样的堆栈交换有很多问题,但是 none 我可以看到避免硬编码值。
我对 R 还是有点陌生,尝试过各种方法:survey::svydesign() 和 sampling::balancedstratification()。 None 似乎采用频率比例向量作为权重。
variable_vector <- as.factor(c(1, 1, 1, 2, 2, 2, 2, 3))
freq_prop <- prop.table(table(factor_vector))
library(survey)
mysdesign <- svydesign(id = ~1,
strata = ~levels(variable_vector),
data = variable_vector,
fpc = freq_prop)
library(sampling)
sampling::balancedstratification(variable_vector,
strata = levels(variable_vector),
pik = freq_prop)
以上方法均无效。
freq_prop 的输出是
[1] 0.375 0.500 0.125
Now I need a way of generating random samples of size 30 for example:
sample size 1 = 30 * 0.375
sample size 2 = 30 * 0.500
sample size 3 = 30 * 0.125
您可以使用 base-r
sample
生成随机样本。例如,要使用 1,2
和 3
分别具有 0.375, 0.5, 0.125
概率的集合的元素 {1,2,3}
生成随机样本大小 30
,我们可以这样做以下
set.seed(777)
r_sample<- sample(c(1,2,3), size=30, replace = TRUE, prob = c(0.375, 0.5, 0.125))
table(r_sample)
# r_sample
# 1 2 3
# 13 14 3
您还可以?sample
查看帮助页面。