我有一个函数,比如f = f(x)
我有一个x值列表。 q只是数据列表
我希望为我拥有的所有x值创建一个值为f'(x)的新列表。
f = sqrt(x)
xt = ts(q)
count = length(xt)
f' = rep(0,count)
for (k in 2:count){
f'[k] = D(f,"x")[k]
}
这不起作用。有人可以帮忙吗?
答案 0 :(得分:1)
你可以这样做
d<-D(substitute(sqrt(x)),"x")
x<-1:5 #if u have a list use unlist example x<-list(1,2,3) x<-unlist(x)
eval(d)
诀窍是你必须传递一个表达式,如果你做了像
这样的事情f = sqrt(x),R将计算sqrt(x)的值,如果你不定义x(并且在任何情况下都不是你想要的)。 你必须传递一个表达式并替换为不评估。 您希望在计算导数后进行评估。