XR *_* SC 5 random r random-seed
为了再现性,必须选择种子.在R中,我们可以使用set.seed().我的问题是,当没有明确设置种子时,计算机如何选择种子?为什么没有默认种子?
mis*_*a11 12
伪随机数生成器(PRNG)需要一个默认的起始值,您可以使用该值set.seed().如果没有给出它通常需要基于计算机的信息.这可能是时间,cpu温度或类似的东西.如果你想要一个更随机的起始值,可以使用物理值,如白噪声或核衰变,但你通常需要一个外部信息源来获取这种随机信息.
的文档中提到R使用当前时间和进程ID:
最初,没有种子; 当需要时,从当前时间和进程ID创建一个新的.因此默认情况下,不同的会话将提供不同的模拟结果.但是,如果先前保存的工作空间已还原,则可能会从先前的会话中还原种子.
默认种子是一个坏主意,因为默认情况下随机生成器总是会产生相同的数字样本.如果你总是采用相同的种子,它不再是随机的,因为总会有相同的数字.因此,您只需提供固定数据样本,这不是PRNG的预期输出.您当然可以关闭默认种子(如果有的话),但是预期的功能是主要的,以生成完全随机的数据集而不是固定的数据.
对于统计方法,它对验证和验证的原因很重要,但是当你进行加密时,它变得越来越重要.有一个很好的PRNG强制性.
有关详细信息,我建议使用 Random {base}文档.