[Rd] Bias in R's random integers?
Steve Grubb
@grubb @ending from redh@t@com
Fri Sep 21 23:33:52 CEST 2018
On Friday, September 21, 2018 12:38:15 PM EDT Tierney, Luke wrote:
> Not sure what should happen theoretically for the code in vseq.c, but
> I see the same pattern with the R generators I tried (default,
> Super-Duper, and L'Ecuyer) and with with bash $RANDOM using
>
> N <- 10000
> X1 <- replicate(N, as.integer(system("bash -c 'echo $RANDOM'", intern =
> TRUE))) X2 <- replicate(N, as.integer(system("bash -c 'echo $RANDOM'",
> intern = TRUE))) X <- X1 + 2 ^ 15 * (X2 > 2^14)
>
> and with numbers from random.org
>
> library(random)
> X <- randomNumbers(N, 0, 2^16-1, col = 1)
>
> So I'm not convinced there is an issue.
Indeed. I found the issue: Hex vs Decimal output. If the bash command was
printf "0x%08x\n" $RANDOM, then everything is fine. So, the code in vseq.c
needs to be strtoul(buf, NULL, 0); so that it handles Hex, Decimal, or
Octal. With this correction to vseq all is fine. No banding in any generated
image. Corrected program is uploaded.
So, the technique works. When the numbers had a problem, due to a conversion
error, it showed a distinct pattern. :-)
Best Regards,
-Steve
More information about the R-devel
mailing list