具有2个或更多随机参数的函数的向量

时间:2016-04-01 01:59:21

标签: r

我有2个变量的这4个函数:

inner.a0b0<- function(tvar,gamma){
  return(gamma^(1/2)*(1+tvar)^(-(gamma+1)/2)*exp(-tvar/2))} 

K0.inte.func <- function(tvar,gam){return((1-tvar)*(exp(-tvar)-gam^(-1/2)*(1+tvar)^(-(gam+1)/2)*exp(-tvar/2)))}  


unit.l.func <- function(tvar,gam){return((1+tvar)^((gam+1)/2)*exp(-tvar/2))}

beta.G <- function(tvar,gam){(1+tvar)^((gam+1)/2)*exp(-tvar/2)*(1-tvar))}

我有2个不同的样本,我从中得到估计的lambda.es = c(lambda.es.1,lambda.es.2)。

然后通过如下整合我有2个组件的2个向量:

K0.deno <- sapply(lambda.es, function(x) integrate(inner.a0b0,lower=0,upper=Inf,gam=x)$value)

K0.inte.val<- sapply(lambda.es, function(x) integrate(K0.inte.func,lower=0,upper=Inf,gam=x)$value) 

我现在的目标是:首先,我从unit.l.func和beta.G以及向量K0.deno和K0.inte.val定义2个函数(每个函数对应于lambda.es的一个组件),所以我写这样:

K0.operator.b <- function(tvar, gam, deno,inte.val){res<- beta.G(tvar,gam) - (1-deno)*unit.l.func(tvar,gam)*inte.val
return(res)}

基本上,我希望有2个函数b1.til和b2.til,如下所示:

b1.til <- K0.operator.b(tvar,gam,deno=K0.deno[1],inte.val=K0.inte.val[2])
b2.til <- K0.operator.b(tvar,gam,deno=K0.deno[2],inte.val=K0.inte.val[2])

然后,我再次需要将b1.til和b2.til与gam = lambda.es集成。如果不写两次,我该怎么办? 非常感谢你的期待。任何建议/帮助非常感谢。我对代码的批评也很感激。非常感谢。

1 个答案:

答案 0 :(得分:0)

认为这应该会成功,但实际上你应该为测试提供真正的测试用例。目前我们没有可用于测试的requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" requiredExtensions="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/2000/svg" 或deno或val值,或者您知道答案应该是什么的任何测试用例。

尝试返回在这两个值可用的位置定义的函数。函数应该然后将它们作为其环境的一部分向前传送。这被称为“封闭”:

data-