m**c 发帖数: 88 | 1 关于这个set.seed()函数的作用,有点迷糊,哪位给解答一下。
这个set.seed(123456)调用一次,是不是仅仅影响其随后的随机数的生成?
比如:
set.seed()
.....
rnorm(N) # 1
.....
rnorm(N) # 2
是不是set.seed()仅仅影响第一个随机数生成,与第二个无关?
是不是这么个情况? | z**k 发帖数: 378 | 2 set.seed(0)
x1 <- rnorm(1)
x2 <- rnorm(1)
set.seed(0)
y1 <- rnorm(1)
y2 <- rnorm(1)
then x1 = y1, x2 = y2, while x1 and x2 are pseudo-independent. I guess set.
seed is mostly used for debugging | m**c 发帖数: 88 | 3 楼上的解释是对的.
但是如果我同时生成几种分布的随机数,比如:
set.seed(1)
x1=rnorm(10) #生成10个正态分布的随机数
y1=rgamma(10) # 生成10个Gamma分布的随机数
............
set.seed(1)
x2=rnorm(10) #生成10个正态分布的随机数
y2=rgamma(10) # 生成10个Gamma分布的随机数
我想 x1 = x 2 应该是没有什么疑问吧.
但是y1 不一定等于y2吧?
也就是说R里面set.seed()函数仅对其后的第一类随机数生成器(本例子中rnorm())起作
用,对其他的随机数生成函数没有作用(rgamma)? |
|