我有这样一个问题,我想把梯度函数定义为函数的输入。请参阅下面的例子。
f<-function(grad="2*m-4"){
y=grad
return(y)
}
f(3)=2发布于 2022-01-26 18:56:52
我通常不喜欢使用eval(parse(text=..)),但它确实使用了一个字符串:
f <- function(m, grad="2*m-4"){
eval(parse(text = grad))
}
f(3)
# [1] 2两人逃走了:
如果您的
f连接的参数;以及。
parse(text=..)解析字符串,就好像用户将其输入到R的解释器中一样,它返回一个表达式:解析(text=“2*m-4”)#表达式(2*m-4)
然后,可以使用eval.计算该表达式。
https://stackoverflow.com/questions/70868775
复制相似问题