不同的集合.种子样本函数在不同操作系统中使用相同版本的R得到的结果



设置seed后,我尝试使用样例函数,并分别在Mac电脑和windows 10电脑上运行代码。然而,即使设置种子,使用样本函数也有不同的结果。

例如:

Mac:

> set.seed(1)
> sample(100,3)
[1] 68 39 1

Windows:

> set.seed(1)
> sample(100,3)
[1] 27 37 57

然而,rnorm函数工作正常:

> set.seed(2)
> rnorm(3)
[1] -0.8969145  0.1848492  1.5878453

有人面临同样的问题吗?R版本为4.1.1.

您还必须设置kind:

set.seed(1, "Mersenne-Twister", sample.kind="Rounding")
sample(100,3)
#[1] 27 37 57
set.seed(1, "Mersenne-Twister", sample.kind="Rejection")
sample(100,3)
#[1] 68 39  1

这个问题的一个可能的原因是其中一台计算机仍然在使用有问题的sample()算法,因为它保存在工作空间中,并在启动r时重新加载。

通过运行RNGkind()可以看到正在使用哪些sample()算法。我看到[1] "Mersenne-Twister" "Inversion" "Rejection",表明我正在使用梅森扭扭器进行均匀,为法线进行反转,并对离散采样进行抑制。

相关内容

  • 没有找到相关文章