r - 我可以以某种方式 get.seed() 吗?

标签 r random-seed

引用语句set.seed(),如果我没有显式设置它,我可以在运行一些代码后获取种子吗?

我一直在重新运行一些代码(以交互方式/在控制台上),其中包含一个随机化输入数据样本的函数(该函数是 kohonen 包的一部分)。在使用它一段时间以查看各种输出(这是一个“不稳定”问题)之后,我注意到一个非常有趣的结果。我当然没有使用set.seed(),但想知道运行代码后是否可以获得种子来重现结果?

?set.seed中我看到

.Random.seed saves the seed set for the uniform random-number generator

但我不知道这有什么帮助。

最佳答案

如果您没有保留种子,则在观察到随机抽取后,没有通用方法可以将随机数生成器“回滚”到之前的状态。接下来,您可能想要做的是将 .Random.seed 的值与计算结果一起保存。像这样的东西。

x <- .Random.seed
result <- <your code goes here>
attr(result, "seed") <- x

然后您可以按如下方式重置PRNG; result2 应与 result 相同。

.Random.seed <- attr(result, "seed")
result2 <- <your code goes here>

关于r - 我可以以某种方式 get.seed() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19614314/

相关文章:

r - 订购 1 :17 by perfect square pairs

r - 查找总和为目标的所有数字组合

r - 我的Windows 10特有R再现性问题

random - 是否可以反转伪随机数生成器?

r - 如何在 R 中使用带有 sf/rnaturalearth/ggplot 的 Mollweide 投影旋转世界地图?

r - 如何在 ggplot 中合并颜色、线条样式和形状图例

r - 如何使用 data.table 计算 R 中的转换表?

java - 在 Java 中使用特定种子作为随机数生成器

c++ - 梅森捻线种子作为

python - Python中numpy.random和random.random的区别