查看 bootstrap 循环中每个复制的选定样本

View selected sample for each replication in bootstrap loop

假设以下简单 bootstrap 过程:

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)
}

有没有一种方法可以查看 5 次重复中每一次的重采样数据集 'repl'?

非常感谢您的回答。非常感谢

编辑

我尝试了以下方法:

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]、...

EDIT2

我试过以下方法:

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 条警告消息:'In repl[boots] <- sample(x, n, replace = TRUE) : 要替换的项目数不是替换长度的倍数'

调用 repl[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)
}