如何在R中获得衍生价值?

use*_*064 4 r derivative

当x = 2时,我想从下面的函数中得到导数值.有没有办法保留函数的形式,并且在没有任何附加包的情况下获得衍生价值?

f <- function(x)
  return(x^3)
Run Code Online (Sandbox Code Playgroud)

例如,我在下面尝试过,但它们没有用.

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

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

x=2
D(expression(f),"x")
Run Code Online (Sandbox Code Playgroud)

inf*_*nge 7

deriv但是,您可以使用一个警告,即您只能使用表达式/调用.

derivative = deriv(~ x^3, "x") 
x <- 2
eval(derivative )
Run Code Online (Sandbox Code Playgroud)

使用命名表达式:

f = expression(x^3)
dx2x <- D(f,"x")
Run Code Online (Sandbox Code Playgroud)

其余的都是一样的.

请参阅此链接以获取文档:https: //www.rdocumentation.org/packages/Deriv/versions/3.8.2/topics/Deriv

  • ...并且还使用`function.arg = TRUE`socan然后使用函数`derivative(2)` (3认同)

d.b*_*d.b 6

这将是近似值

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
Run Code Online (Sandbox Code Playgroud)