繁体   English   中英

R set.seed无法产生一致的结果

[英]R set.seed does not produce consistent results

我正在使用主要的R函数从不同的脚本调用一系列R函数。 为了重现结果,我在主脚本的开头设置了set.seed 在代码中, sample()函数以随机地从一个选择几排的dataframefunction_8 ,和rand()function_6 因此,一个简单的工作流程如下所示:

### Main R Function
library(dplyr)
set.seed(111)

### Begin calling other R scripts
output_1 <- function_1(...)
...
output_10 <- function_10(...)

### End Main R Function

最近,我意识到如果我对不包含任何随机化的function_9进行更改。 function_8生成的随机数会发生变化。 例如,

  • 在更新function_9之前, function_8 sample()将获得第2、15、23、50、54行。
  • 更新function_9后, function_8 sample()将获得第23、44、50、95、98行
  • 但是,可以通过开始新的R会话来再现结果。

因此,我想知道在这种情况下是否有人可以给我一些有关如何正确设置set.seed建议? 提前THX!

更新

对于删除的评论,我将种子编号更改为123,这将产生一组一致的结果。 但是,如果有人可以提供任何深入的解释,我将不胜感激!

也许系列111只是具有相同的字符而不会改变功能8,您可能想生成一个基于时间的随机种子,这是先前的答案 ,可以通过使用系统时间来帮助您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM