# [R] symbolic manipulations

Jeff Miller jdm at xnet.com
Sat Apr 7 01:51:13 CEST 2001

```
Hi All,

I copied code from an Splus manual to take symbolic derivatives:

my.deriv <- function( mathfunc, var )
{
tmp <- substitute(mathfunc)
name <- deparse(substitute(var))
D(tmp,  name)
}

(The code also works in R).

When I try this on  x^2  I  get

> my.deriv(x^2,  x)
2 * x

Suppose I assign the output of  my.deriv(x^2,  x)  to deriv.xsqr :

> deriv.xsqr   <-   my.deriv(x^2,   x)
> deriv.xsqr
2 * x
>

My question is, how do I take the derivative of  deriv.xsqr
(I want the answer to be 2) ?
The naive guess

> my.deriv(deriv.xsqr,  x)
[1] 0

is obviously wrong.

I suspect that, to get the derivative I'm looking for, I need to
pass
something like deparse(deriv.xsqr) into my.deriv, but this doesn't
work
either.

Jeff Miller

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._

```