From bolker at zoology.ufl.edu  Thu Aug 14 18:47:45 2008
From: bolker at zoology.ufl.edu (Ben Bolker)
Date: Thu, 14 Aug 2008 12:47:45 -0400
Subject: [Rd] extending the derivs table/fools rushing in
Message-ID: <48A461B1.4060709@zoology.ufl.edu>


  I added "plogis" to the derivative table in the
development version of R; the patch against yesterday's
R-devel src/deriv/main.c is available at
http://www.zoology.ufl.edu/bolker/deriv_patch.txt .

  I pretty much followed the framework of the other symbols;
here was my incantation

- 	} else if (CAR(expr) == PlogisSymbol) {
- 	    ans = simplify(TimesSymbol,
- 			   PP_S(TimesSymbol,
- 				PP_S2(ExpSymbol,
- 				   PP_S2(MinusSymbol,CADR(expr))),
- 				PP_S(PowerSymbol,
- 				     PP_S(PlusSymbol,
- 					  Constant(1.),
- 					  PP_S2(ExpSymbol,
- 					     PP_S2(MinusSymbol,CADR(expr)))),
- 				     Constant(-2.))),
- 			   PP(D(CADR(expr),var)));
- 	    UNPROTECT(8);

It seems to work:

> D(quote(plogis(a)),"a")
exp(-a) * (1 + exp(-a))^-2
> D(quote(plogis(a+b*x)),"x")
exp(-(a + b * x)) * (1 + exp(-(a + b * x)))^-2 * b

  Any thoughts?  I'm sure there's a cleverer way to do this ...

  Ben Bolker

  PS I get a minor build error at the end of the compilation
(on Ubuntu 8.10):

make[2]: *** No rule to make target `VR.ts', needed by
`stamp-recommended'.  Stop.
make[2]: Leaving directory
`/usr/local/src/R/R-devel/src/library/Recommended'
make[1]: *** [recommended-packages] Error 2
make[1]: Leaving directory
`/usr/local/src/R/R-devel/src/library/Recommended'
make: *** [stamp-recommended] Error 2

  ... don't know if that is important or not.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20080814/2712b33c/attachment.bin>


[Rd] extending the derivs table/fools rushing in
Ben Bolker