R中的sample()从不应该存在的数字池中提取

时间:2019-05-07 16:55:55

标签: r

我目前在如下所示的for循环中嵌入了一个随机数生成器(出于其他原因,我需要将其设置为这种格式,尽管我意识到一般使用sample()更为有用)。

g <- 1:20

for(i in 1:20){

x <- sample(g, 1,  replace = FALSE)
i <- i+1

g <- g[!g %in% x]

print(x)
print(g)
}

最后,此数字生成器应仅输出其池中的最后一个剩余数字并结束,但由于某种原因,它输出向量g中未剩余的数字(即g将为11,并且代码将输出a 19)。我在这里做错了什么?

让我感到困惑的是,如果我从for循环中删除了1次迭代(所以我在1:19中)并在for循环之后添加了相同的代码,那么它会起作用。我认为功能上是同一回事吗?

0 个答案:

没有答案