Просмотр выбранного образца для каждой репликации в цикле начальной загрузки

Предположим, следующая простая процедура начальной загрузки:

x <-     c(20,54,18,65,87,49,45,94,22,15,16,15,84,55,44,13,16,65,48,98,74,56,97,11,25,43,32,74,45,19,56,874,3,56,89,12,28,71,93)
n <- length(x)

nBoot <- 5; mn <- numeric(nBoot)
for(boots in 1:nBoot){
set.seed(830219+boots)
repl <- sample(x,n,replace=TRUE)
mn[boots] <- mean(repl)
}

Есть ли способ просмотреть повторно выбранный набор данных «repl» для каждой из 5 репликаций?

Буду очень признателен за ответ. Спасибо заранее

ИЗМЕНИТЬ

Я пробовал следующее:

x <-      c(20,54,18,65,87,49,45,94,22,15,16,15,84,55,44,13,16,65,48,98,74,56,97,11,25,43,32,74,45, 19,56,874,3,56,89,12,28,71,93)
 n <- length(x)

nBoot <- 5; mn <- numeric(nBoot)
for(boots in 1:nBoot){
set.seed(830219+boots)
repl <- sample(x,n,replace=TRUE)
print(repl)
mn[boots] <- mean(repl)
}

Это позволяет мне просматривать каждый из 5 наборов данных с повторной выборкой, но не позволяет мне работать с каждым набором данных отдельно как repl[1], repl[2],...

ИЗМЕНИТЬ2

Я пробовал следующее:

x <-      c(20,54,18,65,87,49,45,94,22,15,16,15,84,55,44,13,16,65,48,98,74,56,97,11,25,43,32,74,45,19,56,874,3,56,89,12,28,71,93)
n <- length(x)

nBoot <-3; mn <-  numeric(nBoot); repl <- x
for(boots in 1:nBoot){
set.seed(830219+boots)
repl[boots] <- sample(x, n, replace=TRUE)
pr <- print(repl)
mn[boots] <- mean(repl)
}

Однако затем я получаю 5 предупреждающих сообщений: «В repl [boots] ‹- sample (x, n, replace = TRUE): количество заменяемых элементов не кратно длине замены»

и вызов repl[1] дает мне только один номер


person user3387899    schedule 08.04.2015    source источник
comment
Если я правильно понял, это похоже на простой R вопрос по программированию. Если вам нужно просмотреть набор данных с повторной выборкой на каждой итерации, почему бы вам не использовать подходящую функцию, такую ​​как print(repl) или аналогичную, сразу после вызова sample()?   -  person Aleksandr Blekh    schedule 08.04.2015
comment
Спасибо за комментарий. Использование опции печати внутри цикла действительно позволяет просматривать каждый набор данных с повторной выборкой. Однако похоже, что это не позволяет мне использовать каждый набор данных с повторной выборкой для анализа. Нельзя ли вывести набор данных с повторной выборкой в ​​виде списка, чтобы я мог работать с каждым набором данных отдельно как repl[1], repl[2]? Я извиняюсь за плохое знание R и еще раз благодарю вас за вашу помощь.   -  person user3387899    schedule 08.04.2015
comment
Пожалуйста, и не нужно извиняться. Что касается работы с каждым передискретизированным набором данных, вы, конечно, можете обратиться к каждому набору в отдельности (мне это было не совсем понятно поначалу), но для этого вам нужно определить repl как вектор и инициализировать соответствующий элемент этого вектора в каждом итерация: перед циклом for: repl <- x (для простоты); после seed(): repl[boots] <- sample(x, n, replace=TRUE). Затем вы можете ссылаться на каждый набор данных с повторной выборкой как repl[1] и т. д. после цикла.   -  person Aleksandr Blekh    schedule 08.04.2015
comment
Я попробовал наше предложение, но, похоже, оно не работает. Если только я не правильно интерпретирую. Я написал свои результаты в вопросе (см. edit2). Могу ли я попробовать что-то еще?   -  person user3387899    schedule 08.04.2015
comment
Пожалуйста, смотрите мой ответ ниже. Надеюсь, это поможет.   -  person Aleksandr Blekh    schedule 08.04.2015


Ответы (1)


Основываясь на ваших комментариях, я исправил код. Вот версия, которую я тестировал, и она работает:

x <- c(20,54,18,65,87,49,45,94,22,15,16,15,84,55,44,13,16,65,48,98,74,56,97,11,25,43,32,74,45,19,56,874,3,56,89,12,28,71,93)
n <- length(x)

nBoot <-3; mn <- numeric(nBoot)
repl <- matrix(x, nrow=nBoot, ncol=length(x))

for (boots in 1:nBoot) {
  set.seed(830219+boots)
  repl[boots, ] <- sample(x, n, replace=TRUE)
  pr <- print(repl)
  mn[boots] <- mean(repl)
}
person Aleksandr Blekh    schedule 08.04.2015