为什么RStudio在View期间调用随机生成器?

时间:2016-02-12 04:45:07

标签: r rstudio

我在Mac上使用RStudio 0.99.467和R 3.2.2,我注意到View调用了随机数生成器,或类似的东西。以下是代码:

set.seed(1) # not needed when I run it on RStudio, but needed on R
rs <- .Random.seed
cat(76 + 8)
all(.Random.seed == rs)
# TRUE  -- because a simple function shouldn't change the random numbers
View(3)
all(.Random.seed == rs)
# FALSE -- ???

实际上,唯一的区别在于.Random.seed

的第二个数字
all((.Random.seed == rs)[-2])
# TRUE

似乎总是以10个单位增加

.Random.seed[2] - rs[2]
# 10

这是View函数的预期行为还是我只运行的版本中的错误?

1 个答案:

答案 0 :(得分:1)

这确实是预期的。 0.99中的RStudio数据查看器使用R sample函数为您的数据生成随机缓存键。 0.98中的数据查看器没有这样做(它只是生成原始HTML)。

我刚刚记录了一个问题,以便我们在将来的版本中考虑删除这种副作用(我同意,查看数据会改变您的随机种子,这是意外的)。