Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upR Changes RNG #312
R Changes RNG #312
Comments
|
We had used our own way of getting random index in In the current version, I enclosed the new code in How absolute should we be with requesting this change? I know that @gavinsimpson would like to make permute dependent on R >= 3.6.0, and because vegan depends on permute, that would in effect also make vegan dependent on R >= 3.6.0. The reason is that the results are more correct (more uniformly distributed) than in older R. @psolymos : what do you think with this change in Surely for correctness we should depend on R 3.6.0. The only problem is that R 3.6.0 is burning hot new, and not all people can upgrade (as their ICT staff upgrades when they will) or they don't want to upgrade. What ever we do, I think that we should make a concerted effort with permute. |
R 3.4.0 is the first that exported R_unif_index in its C API, although this was advertised as a part of public API only in R 3.6.0. Although R_unif_index is available retroactively in pre-3.6.0, the R_unif_index code was improved in R 3.6.0 and naturally it is wise to upgrade (but that's none of vegan's business). However, now code is made equal to the corresponding R code and its base::sample() function. See issue #312.
|
We (Jari and I) had a rather length discussion on this over in the permute repo (gavinsimpson/permute#25). I got the impression Jari that you weren't keen on making vegan depend on R >= 3.6.0 and I respect that and I think we had come to some mutual understanding that I'd not force a dependency on R >= 3.6.0 but that I would change permute to emit a startup message upon loading on R < 3.6.0 to indicate that there was bias in the RNG prior to R v3.6.0 and that you might like to upgrade R but that the bias is likely small for modest numbers of observations. I'm content to stick with that solution but, if vegan were made dependent on R >= 3.6.0 I would also change permute to likewise depend on that version of R. Whatever we need to do, we need to decide soon as CRAN wanted these things fixed by May 12. |
|
@jarioksa and @gavinsimpson : vegan depending on R >= 3.6.x seems like a good idea and the RNG fixes will likely result in lots of other packages following course. So riding that wave might cause less headache for users who at some point will have to upgrade for this very reason. Given that vegan runs on R 3.4.0 with the new C API, and that permute can be patched without declaring R >= 3.6.0 dependency explicitly, which gives time for R version laggards (myself included on some machines). I am definitely in favour of relying on the fixed RNG and new API, the question is timing. Should we wait until 3.6.1? Looking at release dates of the 3.x.x series it will come out in June or July. |
|
@psolymos Brian Ripley urged as to submit a new version of vegan by May 12 (which is mothers' day over here and pretty soon). I have now a version that explicitly depends on R 3.4.0 in |
|
Sounds good; let's wait until 3.6.1 is released before we make a final decision on whether to depend on R >= 3.6.0. I'll soon push an update to permute to throw the startup message on R < 3.6.0 if I can get it to pass checks cleanly on all systems CRAN checks on. |
|
vegan 2.5-5 was released on CRAN. See NEWS. |
On 22 Apr 2019, at 14:37, Prof Brian Ripley ripley@stats.ox.ac.uk wrote: