我在R中编写一个函数来查找函数的根k
其中\ phi(x)是标准正态分布的概率密度。
这就是我所做的
select t1.TypeofAsset,
ABS(t1.Amount - t2.Amount) as diff_amount
from tablea t1 join tableb t2 on t1.TypeofAsset = t2.TypeofAsset;
但我收到一条错误消息说
fn = function(l1,l2,kappa){
intf = function(x){
2*((l1*x+l2)^kappa)*dnorm(x)
}
return(intf)
}
g = function(l1,l2){
function(kappa){
integrate(fn(l1,l2,kappa),0,Inf)-1
}
}
m = function(l1,l2){
kk = g(l1,l2)
inter = c(1,5)
res = uniroot(kk,c(1,5))
return(res$root)
}
如果我将我的功能> m(0.08,0.09)
rror in integrate(fn(l1, l2, kappa), 0, Inf) - 1 :
non-numeric argument to binary operator
更改为
g
错误消息是
g = function(l1,l2){
function(kappa){
integrate(fn(l1,l2,kappa),0,Inf)
}
}
请帮我解决这个问题。谢谢!