为何x<-rnorm(100)与y<-rnorm(a)(a<-100)结果不相等?
为什么两次
rnorm调用结果不同? rnorm()是R中生成正态分布随机数的函数,它的核心特性是每次调用都会生成一组独立的随机数序列,和之前的调用结果没有关联。- 不管传入的参数是直接写的
100,还是值为100的变量a,只要是两次独立调用rnorm(),就会得到不同的随机数集合,这是随机数生成函数的设计逻辑。 - 如果需要让两次生成的随机数完全一致,可以在调用
rnorm()前设置相同的随机种子,示例代码如下:
set.seed(123) # 设置随机种子 x <- rnorm(100) a <- 100 set.seed(123) # 再次设置相同的种子 y <- rnorm(a) # 此时x和y的数值会完全相同
内容的提问来源于stack exchange,提问作者Abhijeet Chauhan
相关产品推荐
相关产品推荐

