Re: [Rd] Extending deriv3()

From: Gabor Grothendieck <ggrothendieck_at_gmail.com>
Date: Mon, 15 Oct 2007 08:20:02 -0400

If you are modifying it it would also be nice to add { to the derivative table so one can write this:

    f <- function(x) x*x
    deriv(body(f), "x", func = TRUE)

Currently, one must do:

    deriv(body(f)[[2]], "x", func = TRUE)

On 10/15/07, Prof Brian Ripley <ripley_at_stats.ox.ac.uk> wrote:
> On Mon, 15 Oct 2007, Thomas Yee wrote:
>
> > Hello,
> >
> > I was wondering if the functions deriv3(), deriv() etc. could be extended
> > to handle psigamma() and its special cases (digamma(), trigamma()
> > etc.). From the error message it seems that 'psigamma' needs to be
> > added to the derivatives table.
> > This might be easy since psigamma() has a deriv argument.
>
> If you look at ?deriv you will see that it only knows about functions *of
> one argument* and operators. So it would be easy to add digamma(x) and
> psigamma(x) (and I will do so shortly), it would not be so easy to add
> psigamma(x, deriv).
>
> > Additionally, this error message is also obtained when requesting for
> > the Hessian of the gamma and lgamma functions:
> >
> > d3 = deriv(~ gamma(y), namev="y", hessian= TRUE)
> > d3 = deriv(~ lgamma(y), namev="y", hessian= TRUE)
> >
> > Another class of special functions worth adding are the Bessel functions.
>
> Well, you can always submit a patch ....
>
> Note that deriv() in R differs from that in S in being done in C and hence
> not being user-extensible. A long time ago that had an advantage: S's
> deriv could be very slow and take a lot of memory by the standards of the
> early 1990's. Rather than work on adding yet more special cases it would
> seem better to work on making it user-extensible.
>
> --
> Brian D. Ripley, ripley_at_stats.ox.ac.uk
> Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
> University of Oxford, Tel: +44 1865 272861 (self)
> 1 South Parks Road, +44 1865 272866 (PA)
> Oxford OX1 3TG, UK Fax: +44 1865 272595
>
> ______________________________________________
> R-devel_at_r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Mon 15 Oct 2007 - 12:23:24 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 25 Oct 2007 - 11:37:11 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.