我现在正在解决一个与在R中建立计算矩生成函数对数的函数有关的问题。所需的过程是用户可以输入任何随机密度函数f(x)和随机变量的区间。然而,我不知道如何让R识别函数表达式的输入字符串,比如"x^2-4*x",并将其转化为可行的数学表达式或函数。有人能帮忙吗?
mgf <- function(expr, t, from=NULL, to=NULL){
moment <- NULL
for (i in 1:length(t)){
moment <- c(moment,integrate(exp(x*t[i])*(expr),lower=from,upper=to))
}
return(moment)
}
这是我目前的代码。显然,它不能工作。我想要的是用户可以输入一个表达式,比如
x^2-4*x
,这是expr的值,然后将expr转换为函数的一部分,使integrate()
函数可以评估。