首页 > 解决方案 > 如何让 set.seed() 和 sample() 产生相同的结果

问题描述

我看过几篇关于使用set.seed()函数的帖子,然后是sample()函数,但我仍然不清楚为什么sample()会给出不同的结果。

我使用下面的代码复制了一个非常简单的示例,并根据各自的 R 版本得到不同的结果。

我如何sample()始终如一地获得相同的结果,因为这在共享代码以在另一台机器/平台上重现时很重要。

set.seed(47)
index3 = sample(rnorm(200), 200, replace = FALSE)
index3

第一次运行的版本(Windows):

##                _                           
## platform       x86_64-w64-mingw32          
## arch           x86_64                      
## os             mingw32                     
## system         x86_64, mingw32             
## status                                     
## major          3                           
## minor          5.3                         
## year           2019                        
## month          03                          
## day            11                          
## svn rev        76217                       
## language       R                           
## version.string R version 3.5.3 (2019-03-11)
## nickname       Great Truth

第二次运行的版本(Mac):

##                _                           
## platform       x86_64-apple-darwin17.0     
## arch           x86_64                      
## os             darwin17.0                  
## system         x86_64, darwin17.0          
## status                                     
## major          4                           
## minor          0.0                         
## year           2020                        
## month          04                          
## day            24                          
## svn rev        78286                       
## language       R                           
## version.string R version 4.0.0 (2020-04-24)
## nickname       Arbor Day

标签: rrandomrandom-seed

解决方案


推荐阅读