numericDeriv
numerically evaluates the gradient of an expression.
numericDeriv(expr, theta, rho = parent.frame(), dir = 1.0)
The expression to be differentiated. The value of this expression should be a numeric vector.
A character vector of names of numeric variables
used in expr
.
An environment containing all the variables needed to
evaluate expr
.
A numeric vector of directions to use for the finite differences.
The value of eval(expr, envir = rho)
plus a matrix
attribute called gradient
. The columns of this matrix are
the derivatives of the value with respect to the variables listed in
theta
.
This is a front end to the C function numeric_deriv
, which is
described in Writing R Extensions.
The numeric variables must be of type real
and not integer
.
# NOT RUN {
myenv <- new.env()
assign("mean", 0., envir = myenv)
assign("sd", 1., envir = myenv)
assign("x", seq(-3., 3., len = 31), envir = myenv)
numericDeriv(quote(pnorm(x, mean, sd)), c("mean", "sd"), myenv)
# }
Run the code above in your browser using DataLab