From bbo|ker @end|ng |rom gm@||@com  Sun Sep 29 22:22:44 2019
From: bbo|ker @end|ng |rom gm@||@com (Ben Bolker)
Date: Sun, 29 Sep 2019 16:22:44 -0400
Subject: [Rd] depending on orphaned packages?
In-Reply-To: <23947.5769.742626.892720@stat.math.ethz.ch>
References: <b1fd1b08-c111-57f1-2cdd-937a3732e081@gmail.com>
 <23947.5769.742626.892720@stat.math.ethz.ch>
Message-ID: <fac3a3cc-f197-0866-e4d0-0bea003ff4e4@gmail.com>



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
>



[Rd] depending on orphaned packages?
Ben Bolker