我知道我可以用例如来设置RNGversion。
RNGversion("3.5.2")但是,是否可以查询我当前使用的是哪个版本的R?
编辑:
我的问题是3.6.0版的一些变化在RNGkind()中是不可见的。
e.g
library(magrittr)
RNGversion("3.5.2")
RNGkind()
set.seed(1)
tibble::tibble(A = 1:5000) %>%
dplyr::sample_n(2)收益率:
> "Mersenne-Twister" "Inversion" "Rounding"
> # A tibble: 2 x 1
A
<int>
1328
1861但是:
RNGversion("4.0.2")
RNGkind()
set.seed(1)
tibble::tibble(A = 1:5000) %>%
dplyr::sample_n(2)收益率
> "Mersenne-Twister" "Inversion" "Rejection"
> # A tibble: 2 x 1
A
<int>
1 1017
2 4775这两段代码返回一个可重现的输出,但是不同,即使RNGkind()返回相同的东西。因此,我想知道RNGvesion()
编辑2:我不知何故错过了两个不同版本的RNGkind()输出的3个元素的差异。
发布于 2020-09-14 20:42:32
研究RNGversion的源代码是很有意义的。
getRversion()
#[1] ‘4.0.2’
RNGkind()
#[1] "Mersenne-Twister" "Inversion" "Rejection"
#pre 3.6
RNGversion("3.5")
RNGkind()
#[1] "Mersenne-Twister" "Inversion" "Rounding"
#pre 1.7
RNGversion("1.6")
RNGkind()
#[1] "Marsaglia-Multicarry" "Buggy Kinderman-Ramage" "Rounding"
#pre 0.99
RNGversion("0.90")
RNGkind()
#[1] "Wichmann-Hill" "Buggy Kinderman-Ramage" "Rounding"如果想要根据RNGkind输出获得版本范围,则需要编写自己的函数。
https://stackoverflow.com/questions/63884389
复制相似问题