[Rd] depending on orphaned packages?
bbo|ker @end|ng |rom gm@||@com
Sun Sep 29 22:22:44 CEST 2019
On 2019-09-25 3:26 a.m., Martin Maechler wrote:
>>>>>> Ben Bolker
>>>>>> on Tue, 24 Sep 2019 20:09:55 -0400 writes:
> > SuppDists is orphaned on CRAN (and has been since 2013).
> > https://cran.r-project.org/web/checks/check_results_.html
> > Oddly, the simulate method for the inverse.gaussian family
> > [inverse.gaussian()$simulate] depends (in a loose sense) on SuppDists
> > (it fails if the SuppDists namespace is not available:
> > if (!requireNamespace("SuppDists", quietly = TRUE))
> > stop("need CRAN package 'SuppDists' for simulation from the
> > 'inverse.gaussian' family")
> > The statmod package also implements inverse gaussian d/p/q/r functions
> > <https://journal.r-project.org/archive/2016-1/giner-smyth.pdf>. It is
> > lightweight (depends on R >= 3.0.0, imports only base packages [stats
> > and graphics]) and has been around for a long time (archived versions on
> > CRAN go back to 2003).
> > Would it make sense to replace the call to SuppDists::rinvGauss with a
> > corresponding call to statmod::rinvgauss ? Would a patch be considered?
> > Ben Bolker
> I'd say "yes" & "yes".
> "Base" code weekly depending on CRAN packages (apart from
> formally 'Recommended' ones) is somewhat sub-optimal in any
> case, ((but possibly still the best thing, given reality
> [maintenance efforts, copyrights, ...])),
> but your proposal seems a "uniformly not worse" change
> ((and I have very much liked delving into parts of Gordon
> Smyth's textbook on GLMs as a really nice mixture / in-between
> of rigorous math and applied stats))
I did actually think of a reason *not* to do this.
The resulting random deviates generated by statmod::rinvgauss aren't
exactly the same as those from SuppDists::rinvGauss (same algorithm, but
I guess they use sufficiently different internal machinery), so this
could break exact backward compatibility for any code that uses
simulate() for inverse-Gaussian models. Still might be worth doing, but
now the change is *not* "uniformly not worse".
An alternative (which would remove the dependency on a CRAN package)
would be to pull the code of statmod::rinvgauss into R (which would be
allowed - statmod is GPL 2/3 - but of course it would be polite to ask).
The downside to this solution would be adding the maintenance burden of
this code ...
> Martin Maechler
> ETH Zurich and R Core
More information about the R-devel