Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I get derivative value in R?

Tags:

r

derivative

I want to get the derivative value from the function below when x = 2. Is there way to keep the form of the function and also get derivative value with out any additional package?

f <- function(x)
  return(x^3)

For example, I have tried below but they didn't work.

x=2
deriv(~f, "x")

x=2
deriv(~body(f),"x")

x=2
D(expression(f),"x")
like image 343
user8878064 Avatar asked Nov 03 '17 02:11

user8878064


2 Answers

You can use deriv, however, one caveat is that you can only use expressions/calls.

derivative = deriv(~ x^3, "x") 
x <- 2
eval(derivative )

With a named expression:

f = expression(x^3)
dx2x <- D(f,"x")

and the rest is the same.

See this link for the documentation: https://www.rdocumentation.org/packages/Deriv/versions/3.8.2/topics/Deriv

like image 91
information_interchange Avatar answered Sep 28 '22 08:09

information_interchange


This would be approximation

foo = function(x, delta = 1e-5, n = 3){
    x = seq(from = x - delta, to = x + delta, length.out = max(2, n))
    y = x^3
    mean(diff(y)/diff(x))
}

foo(2)
#[1] 12
like image 21
d.b Avatar answered Sep 28 '22 08:09

d.b