我使用主R函数从不同的脚本调用一系列R函数。为了重现结果,我在主脚本的开头set.seed
。在代码中,sample()
用于从dataframe
中的function_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
生成的随机数发生了变化。例如,
sample()
之前,function_8
中的function_9
将获得第2行,第15行,第23行,第50行,第54行。 sample()
后,function_8
中的function_9
将获得第23,44,50,95,98行
所以,我想知道是否有人可以就这种情况如何正确set.seed
给我一些建议? THX提前!
根据删除的评论,我将种子数更改为123,这会产生一组一致的结果。但我很感激有人可以提供任何深入的解释!
答案 0 :(得分:2)
也许系列111只有相同的字符,不会改变功能8,你可能想要生成一个基于时间的随机种子,这里是a previous answer,它可以帮助你使用系统时间。 / p>