2017-07-01 97 views
0

我有以下问题: 我认为一个两个入口函数(fvec),我想将它整合到一个变量(即x)。所以我这样做;R集成 sapply三个变量函数

fvec = function(x, y) sapply(x, function(z, y) z-y, y=y) 
gvec = function(x) sapply(x, function(y) integrate(fvec, lower=2, upper=3, y=y)$val) 

然后我eveluate肾小球内皮细胞当y = 2

a=gvec(2) 

和代码工作。

但是,如果我介绍第三个变量,我尝试应用相同的过程:

fvec = function(x, y, w) sapply(x, function(z, y, w) z-y+w, y=y, w=w) 

gvec = function(x,t) sapply(x, function(y,w) integrate(fvec, lower=2, upper=3, y=y, w=w)$val) 

b=gvec(2,2) 

[R给我下面的错误:

Error in FUN(X[[i]], ...) : argument "w" is missing, with no default

我不明白为什么我会非常感谢你的帮助。 感谢

回答

0

你有一个错字在这一行

gvec = function(x,t) sapply(x, function(y,w) integrate(fvec, lower=2, upper=3, y=y, w=w)$val) 

调用变量t在开始的时候,后来你怎么称呼它W上。此版本按预期工作:

gvec = function(x,t) sapply(x, function(y,w) integrate(fvec, lower=2, upper=3, y=y, w=t)$val)