Генерирует взвешенную стратифицированную выборку с переменным вводом и переменными весами. Ожидаемый ввод - это переменный коэффициент длины целых чисел с различным количеством уровней.
Я пытаюсь избежать жесткого кодирования весов и страт, так как они могут различаться. Есть много вопросов по обмену стека относительно стратифицированной выборки, но я не видел, чтобы избежать жестко закодированных значений.
Я все еще немного новичок в R и пробовал различные методы: survey :: svydesign ()и выборка :: сбалансированная стратификация (). Ни один из них, кажется, не использует вектор частотных пропорций для использования в качестве весов.
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
Любая помощь будет принята с благодарностью.