我希望在x = 2时从下面的函数中得到导数值。有没有办法保留函数的形式,并且在没有任何附加包的情况下获得衍生价值?
f <- function(x)
return(x^3)
例如,我在下面尝试了但是他们没有工作。
x=2
deriv(~f, "x")
x=2
deriv(~body(f),"x")
x=2
D(expression(f),"x")
答案 0 :(得分:5)
您可以使用deriv
,但有一点需要注意you can only use expressions/calls。
derivative = deriv(~ x^3, "x")
x <- 2
eval(derivative )
使用命名表达式:
f = expression(x^3)
dx2x <- D(f,"x")
其余的都是一样的。
请参阅此链接以获取文档: https://www.rdocumentation.org/packages/Deriv/versions/3.8.2/topics/Deriv
答案 1 :(得分:3)
这将是近似值
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