在引导循环中查看每个复制的选定示例

时间:2015-04-08 12:13:27

标签: r replication resampling statistics-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)
}

有没有办法可以查看重新采样的数据集&#39; repl&#39;对于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],...

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条警告信息:&#39;在repl [boots]&lt; - sample(x,n,replace = TRUE):   要替换的项目数量不是替换长度的倍数&#39;

并且调用repl [1]只给我一个数字

1 个答案:

答案 0 :(得分:0)

根据您的评论,我修复了代码。这是我测试的版本,似乎有效:

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