2
GetRNGstate()
和PutRNGstate()
对我来说是神秘的。我已阅读的第6.3部分编写R扩展但它只说“用户必须调用”它们和“这些基本上读入(或创建).Random.seed并在使用后写出来”。如果不包括GetRNGstate()会出现什么问题?
我最初认为如果我没有包括它们,那么R中的set.seed()
函数将无法在我的Rcpp函数上工作。所以我做了一些实验,但事实证明没有GetRNGstate()
和PutRNGstate()
什么都没有错。我觉得我必须错过一些东西,为什么以及何时应该包含这两个功能?
下面是我自己的实验:
// [[Rcpp::export]]
NumericVector myrv4(int n) {
NumericVector x = rnorm(n, 0.0, 1.0);
return x;
}
而且我的测试结果:
> n <- 2
> set.seed(1234)
> myrv4(n)
[1] -1.2070657 0.2774292
> set.seed(1234)
> myrv4(n)
[1] -1.2070657 0.2774292
非常感谢!这完全回答了我的问题! – Bayesric
听起来很棒 - 随意在StackOverflow上常见的“接受”(点击标记)和/或“upvote”(点击向上三角形)。 –