我目前在如下所示的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循环之后添加了相同的代码,那么它会起作用。我认为功能上是同一回事吗?