On 09/05/2019 9:15 a.m., Ulrike Grömping wrote:
Dear R package authors,

I am currently struggling with differences in test results between R
versions 3.5.3 and 3.6.0: There are expected ones (from the new behavior
of sample(), which can be switched off by
RNGkind(sample.kind="Rounding")) and unexpected ones: The normal random
numbers from a call "y <- rnorm(36)" have changed between R versions, in
spite of working with a seed. Consequently, most other outcomes change
as well, as they depend on those random numbers.

Does anyone have an idea what this behavior results from ? You see
samples below (ignore the first columns, these can be made alike by
changing sample.kind; but the normal random numbers in the last column
were the bottom ones before version 3.6.0 and are the top ones afterwards.


< 1 200 10 -25 -2.07823754
< 2 150 30 25 0.48522682
< 3 200 20 -25 0.69676878

...

1 250 10 -15 -0.820426525
2 200 10 -25 -1.238082813
3 100 10 15 -1.199567511
...

Can anyone explain, why this is the case, or how I could possibly
circumvent it (for some noLD checks)?


I am not seeing a difference in rnorm(), but I would expect to see one if the new sample() code was used, as it can make a different number of calls to the underlying RNG.

That is: I'd expect this code to give identical results in both versions, whether I used val <- 10 or any other value:

val <- 10
set.seed(val)
rnorm(36)

This code does not give identical results, because the calls to sample() will result in different changes to the seed:

val <- 10
set.seed(val)
discard <- sample(1000, 100)
rnorm(36)

Duncan Murdoch

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to