美文网首页
【R语言编程】---R语言中set.seed()函数的作用

【R语言编程】---R语言中set.seed()函数的作用

作者: 卡布达b1 | 来源:发表于2020-06-08 08:53 被阅读0次

    前言:在很多情况下,我们编程时经常需要生成一组随机的数字,然而,如果一组随机数字可以使程序运行成功,但是另一组却不行的时候,我们如何记录下能使程序成功运行的那组数字呢?这便是set.seed()函数的作用。

    举例:
    使用R语言,生成一组随机数字:

    > r1 <- rnorm(8) #生成8个随机数字
    > r1
    [1] -0.67509798 -0.65516676  1.49228122  0.12893907 -1.00610101 -0.97784519 -1.04227771 -0.04797154
    > r2 <- rnorm(8) #再生成一组随机数字
    > r2
    [1] -0.8493402 -0.6088733  0.2030056 -0.6535025 -0.8949186 -0.5006307  0.2353578 -0.2134360
    

    可以看出,每次生成的随机数字是不完全相同的,如果我想得到可重复的结果,就可以用到set.seed()方法:

    > set.seed(5000) #种子数可为随意整数
    > r1 <- rnorm(8)
    > r1
    [1] -0.1301591 -1.1406151 -2.1843771  0.7650218 -0.4735296 -0.3980398  1.0382221 -1.0565153
    
    > set.seed(5000) #设置同样的种子
    > r2 <- rnorm(8)
    > r2
    [1] -0.1301591 -1.1406151 -2.1843771  0.7650218 -0.4735296 -0.3980398  1.0382221 -1.0565153
    

    说明:
    众所周知,计算机并不能产生真正意义的随机数,计算机的随机功能是使用系统时钟来作为种子,如果你要模拟什么的话,每次的随机数都是不一样的。如果你事先设置了种子,这样每次的随机数都是一样的,便于重现你的研究,也便于其他人检验你的分析结果。举例中的set.seed(5000)的含义便是而是把种子设置为5000,而不再使用系统时钟。

    相关文章

      网友评论

          本文标题:【R语言编程】---R语言中set.seed()函数的作用

          本文链接:https://www.haomeiwen.com/subject/ajnktktx.html