[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
        something like deparse(deriv.xsqr) into my.deriv, but this doesn't

        Thanks in advance,

                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

More information about the R-help mailing list