Rdieharder 文本文件作为输入

Rdieharder text file as input

总结

我正在尝试测试生成数字到文本文件的 RNG,理想情况下使用 0 到 1 之间的十进制数。这使用 Rdieharder 包。(请注意,这是我第一次使用 R 或任何 rng 测试那件事)

正在尝试

我知道 rng = file_input 和 file_input_raw 函数的存在。我通过它们对文本文件中的 运行 二进制或十进制数字进行的所有尝试均未成功。要么导致导致 Rstudio 冻结的致命错误,要么如下图所示(图片)。

代码

我在 Rstudio 中的尝试看起来像这样。

library(RDieHarder)
library(random)

dh <- dieharder(rng = "file_input_raw", inputfile = "Random.txt")

plot(dh)

我尝试了不同的方法来格式化文本文件。

二进制

32 bit binary numbers as follows:
111000010100001100011011110010
1110000100111111011001011011001
11100001001110111001100100100111
111111101001011010100100000111
....
2,500,000 numbers

这导致以下

程序似乎将我的输入识别为 0。

十进制

0.667371
0.673781
0.663682
0.684186
0.642766
0.726927
0.556512
...
1000 numbers

这会冻结 "file_input" 和 "file_input_raw" 的 Rstudio。

这些数字并不代表最终结果 目前我只是想从顽固派那里得到一个有意义的结果。我的格式错误还是我需要不同的 rng= ?或者有人知道在文本文件上使用 rdieharder 的简单方法吗?

以下说明按预期工作。这只是在 dieharder() 参数 inputfile.

中传递文件名的问题

创建测试数据。

set.seed(1234)    # Make the results reproducible
r <- runif(1000)
f <- file("Random.txt", open = "wt")
writeLines(as.character(r), con = f)
close(f)

现在测试随机性。

dh <- dieharder(inputfile =  "Random.txt")

plot(dh)