R语言初级教程(17): 随机数、随机抽样
在很多统计分析中,随机化是一个非常重要的环节。对于从各种概率分布(离散和连续分布)产生随机数的方法将在《R统计学》专题详细介绍。这篇博客只是简要地介绍R中的随机化,主要介绍两个非常重要的函数:set.seed()
和sample()
函数。
1. set.seed()
函数
在调试(debugging)程序时,如果能够保证前后两次的随机数一致,常常对程序的调试有很大帮助。另外,在做展示的时候,结果的可重复性也是很重要。 在R中,我们可以用set.seed()
函数来实现这个功能。
set.seed()
函数用于设定随机数种子,一个特定的种子可以产生一个特定的伪随机序列。这个函数的主要作用是确保结果具有重复性,如果不设定种子,生成的随机数将无法重现。来看个例子:
> rnorm(6) ##随机生成6个随机数
[1] 0.4609162 -1.2650612 -0.6868529 -0.4456620 1.2240818 0.3598138
> rnorm(6) ##再次随机生成6个随机数
[1] 0.4007715 0.1106827 -0.5558411 1.7869131 0.4978505 -1.9666172
## 上面两个随机数序列不一样
> set.seed(123) ##设定种子
> x <- rnorm(6) ##在设定种子的前提下生成6个随机数
> x
[1] -0.56047565 -0.23017749 1.55870831 0.07050839 0.12928774 1.71506499
> set.seed(123)
> y <- rnorm(6)
> y
[1] -0.56047565 -0.23017749 1.55870831 0.07050839 0.12928774 1.71506499
> x==y ##随机序列x和y完全一致
[1] TRUE TRUE TRUE TRUE TRUE TRUE
相关文章