简体   繁体   English

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

[英]Different results even with set.seed() in R

I have re-run with the same seed but cannot produce same results in R studio.我用相同的种子重新运行,但无法在 R studio 中产生相同的结果。

Will set.seed() lose track when calling different user packages, R6 classes and methods?调用不同的用户包、R6 类和方法时,set.seed() 会迷路吗?

Have you come across similar situation and how to fix it?您是否遇到过类似情况以及如何解决?

Thanks a lot非常感谢

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()

The issue would come if you are using diffrent R versions (3.5 vs 3.6 and above).如果您使用不同的 R 版本(3.5 与 3.6 及更高版本),问题就会出现。 The version upto 3.5 will show same results but for the same code the versions 3.6 will show a diffrent results.版本 3.5 将显示相同的结果,但对于相同的代码,版本 3.6 将显示不同的结果。 However version 3.6 and 4.0 will have same results.然而版本 3.6 和 4.0 将有相同的结果。

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

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