相关疑难解决方法(0)

OS之间生成不同的随机数

有没有人对set.seed根据操作系统(OS)给出不同结果的情况有任何经验.我记得在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
Run Code Online (Sandbox Code Playgroud)

我的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 …
Run Code Online (Sandbox Code Playgroud)

random r

7
推荐指数
1
解决办法
857
查看次数

R中OS之间产生不同的随机数

我的随机数略有不同,具体取决于操作系统(Mac vs Linux):

set.seed(890458, kind="Mersenne-Twister", normal.kind="Inversion")
print(rlnorm(1504)[1504], digits=22)
sessionInfo()
Run Code Online (Sandbox Code Playgroud)

Linux的:

> set.seed(890458, kind="Mersenne-Twister", normal.kind="Inversion")
> print(rlnorm(1504)[1504], digits=22)
[1] 2.732876214731374542311

> sessionInfo()
R version 3.4.0 (2017-04-21)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Debian GNU/Linux 9 (stretch)

Matrix products: default
BLAS: /usr/lib/libblas/libblas.so.3.7.0
LAPACK: /usr/lib/lapack/liblapack.so.3.7.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_3.4.0 …
Run Code Online (Sandbox Code Playgroud)

random r

7
推荐指数
1
解决办法
339
查看次数

标签 统计

r ×2

random ×2