Начальная загрузка R - повторная выборка для стратифицированного образца - PullRequest
0 голосов
/ 26 октября 2018

У меня есть набор данных опроса, и я хотел бы начать с R, чтобы значения из каждой страты были выбраны с вероятностью, которая представляет размер их страт в общей популяции. Я пробовал различные методы в пакете boot (), и я не уверен, что получаю результаты, которые я ищу. Например, при использовании аргумента весов после определения веса каждой страты, я считаю, что это просто создание взвешенного среднего для моей начальной загрузки, а не стратифицированная повторная выборка. Я не уверен, какая опция sim () мне нужна или что делает опция strata (). Пожалуйста, помогите!

sample_mean = function(value,indices){return(mean(value[indices]))}
> results=boot(value,sample_mean,1000,weights = Weight)

1 Ответ

0 голосов
/ 27 октября 2018

Допустим, ради воспроизводимости, у вас есть

my_df <- data.frame(x=1:9, stratum=rep(1:3, each=3))
my_df
#   x stratum
# 1 1       1
# 2 2       1
# 3 3       1
# 4 4       2
# 5 5       2
# 6 6       2
# 7 7       3
# 8 8       3
# 9 9       3

и у вас есть веса, связанные со стратами wts <- c(4,2,1) - обратите внимание, их не обязательно добавлять к 1.

Вы можете загрузиться "вручную", позвонив как

N_boot <- 10000
boot_mns <- rep(NA, N_boot)
for(i in 1:N_boot) {
   B <- sample(my_df$x, prob=wts[my_df$stratum])  
                 # or prob=wts[as.numeric(as.factor(my_df$stratum))] as needed
   boot_mns[i] <- mean(B)
}

Вероятно, лучше сделать это с пакетом boot, но это довольно ясно видно в происходящем.

...