如何重复使用 SelvarMix

问题描述

我想使用 R 中的 SelvarMix 包进行一些可重复的模拟工作。但是,感兴趣的特定函数 SelvarClustLasso 似乎不受种子设置的影响。对于最小的不可复制(?)示例,如果我从文档中运行以下修改后的代码

library("SelvarMix")
data(wine)
set.seed(123)
obj <- SelvarClustLasso(x=wine[,1:27],nbcluster=1:5,nbcores=1)
print(obj$criterionValue)
set.seed(123)
obj <- SelvarClustLasso(x=wine[,nbcores=1)
print(obj$criterionValue)
set.seed(1)
print(rnorm(1))
set.seed(1)
print(rnorm(1))

对于criterionValue,我得到两个不同的答案,例如最近的 -8570.741 和 -6101.943,然后是两次相同的随机数(set.seed 没有损坏!是的,我的理智)。出于模拟工作的目的,我需要某种设置种子的方法,这样每次我从相同的种子开始时,我都会从 SelvarClustLasso 得到相同的答案,老实说,我本来希望使用上述方法

潜在相关性:我在使用 R v4.0.2 的 Mac。

编辑:它依赖的包 Rmixmod 也有同样的问题(例如,函数 Rmixmod::mixmodCluster())。 Rmixmod 取决于 Rcpp(>= 0.8.0)。这听起来可能像 C++ 有自己的种子,我没有使用 set.seed 访问吗?如果是这样,我仍然不确定如何解决这个问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)