OS之间生成不同的随机数

时间:2012-07-19 19:04:53

标签: r random

根据操作系统(OS),有没有人有过set.seed给出不同结果的情况的经验。我记得在R之前的类中遇到过类似的情况,之前有些人使用rnorm生成不同的随机序列,尽管将起始种子设置为相同的值。 现在,我自己开课,并没有遇到与rnorm相同的问题;无论操作系统如何,所有学生都能获得相同的顺序有趣的是,MASS包的mvrnorm函数似乎存在同样的问题。

非常感谢任何见解 - 马克

这个例子:

require(MASS)
set.seed(123)
a <- rnorm(10, mean=10, sd=3)
b <- rnorm(10, mean=5, sd=2)
df <- data.frame(a,b)
C <- cov(df)
M <- mvrnorm(n=10, c(10,5), C)

df
C
M

我的Windows 7 OS 64位版本的R 2.14.1上的产量。:

> df
           a        b
1   8.318573 7.448164
2   9.309468 5.719628
3  14.676125 5.801543
4  10.211525 5.221365
5  10.387863 3.888318
6  15.145195 8.573826
7  11.382749 5.995701
8   6.204816 1.066766
9   7.939441 6.402712
10  8.663014 4.054417
> C
         a        b
a 8.187336 3.431373
b 3.431373 4.310385
> M
              a        b
 [1,] 13.270535 6.158603
 [2,] 10.375011 5.737871
 [3,] 13.514105 5.476411
 [4,] 12.681956 5.020646
 [5,] 12.352333 4.927746
 [6,] 15.177508 6.810387
 [7,]  8.114377 2.925225
 [8,]  9.529744 4.834451
 [9,] 12.903550 7.232715
[10,]  6.251907 3.481789

编辑:知道是否有人没有获得这些结果以及使用了哪些操作系统或R版本可能会有所帮助。

1 个答案:

答案 0 :(得分:1)

我听说有人在改变RNGKind,有时候没有意识到它是通过加载和运行一个更改了生成器的程序包或其他一些改变它的脚本来实现的。如果是这种情况,则相同的种子将导致不同的随机数。 R的新运行(不加载不同的包或其他脚本)应该从同一种子生成相同的随机数。