2017-07-01 60 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)