即使在R中使用set.seed()也有不同的结果。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了即使在R中使用set.seed()也有不同的结果。相关的知识,希望对你有一定的参考价值。

我已经用同样的种子重新运行,但在R studio中不能产生同样的结果。

当调用不同的用户包、R6类和方法时,set.seed()会不会失去轨迹?

你有没有遇到过类似的情况,如何解决?

非常感谢

closeAllConnections()
rm(list=ls())
gc()

set.seed(123456)
require(PackageA)  #user defined package

fileName <- "N:/Risk Management/abc.json";

configuration <- JsonConfigurationReader$readConfiguration(fileName); #R6 class and method in PackageA

instance <- someClass$new(configuration); #R6 class and method in PackageA

instance$execute()  #will produce some random numbers in this method

closeAllConnections()
rm(list=ls())
gc()
答案

如果你使用的是不同的R版本(3.5与3.6及以上版本),问题就会出现,3.5以下的版本会显示相同的结果,但对于相同的代码,3.6版本会显示不同的结果,但3.6和4.0版本会有相同的结果。

以上是关于即使在R中使用set.seed()也有不同的结果。的主要内容,如果未能解决你的问题,请参考以下文章

R在文件上IO后产生不同的结果

R语言 set.seed()方法

R语言set.seed函数的意义及实战

与降雪库并行化的结果不可重现?

R实战 第十二篇:随机数

在R中设置种子