numericDeriv {stats} R Documentation

## Evaluate Derivatives Numerically

### Description

numericDeriv numerically evaluates the gradient of an expression.

### Usage

numericDeriv(expr, theta, rho = parent.frame(), dir = 1,
eps = .Machine$double.eps ^ (1/if(central) 3 else 2), central = FALSE)  ### Arguments  expr expression or call to be differentiated. Should evaluate to a numeric vector. theta character vector of names of numeric variables used in expr. rho environment containing all the variables needed to evaluate expr. dir numeric vector of directions, typically with values in -1, 1 to use for the finite differences; will be recycled to the length of theta. eps a positive number, to be used as unit step size h for the approximate numerical derivative  (f(x+h)-f(x))/h  or the central version, see central. central logical indicating if central divided differences should be computed, i.e.,  (f(x+h) - f(x-h)) / 2h . These are typically more accurate but need more evaluations of f(). ### Details 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 double and not integer. ### Value The value of eval(expr, envir = rho) plus a matrix attribute "gradient". The columns of this matrix are the derivatives of the value with respect to the variables listed in theta. ### Author(s) Saikat DebRoy saikat@stat.wisc.edu; tweaks and eps, central options by R Core Team. ### Examples myenv <- new.env() myenv$mean <- 0.
myenv$sd <- 1. myenv$x    <- seq(-3., 3., length.out = 31)
nD <- numericDeriv(quote(pnorm(x, mean, sd)), c("mean", "sd"), myenv)
str(nD)

## Visualize :
require(graphics)