2017-08-11 108 views
0

我試圖編寫一個接受列表a,b作爲其輸入的函數;輸出一個列表。如何將列表作爲R中的多個參數傳遞

sigm = function(x,a,b){ 
return(exp(a*x+b)) 
} 

我所試圖做的是功能應該從取一個值,說[我],並採取從B另一個價值,說B [J]。理想情況下,我希望輸出的總暗淡是暗淡的(a)* dim(b)* dim(x)

我嘗試使用mapply但無法繞過。

mapply(sigm, 1:4,1:4, 4:1) 
[1] 1.484132e+02 1.096633e+03 5.987414e+04 2.415495e+07 

它仍然給了我只是長度4.我想獲得的64

+2

你可以提供一個可重複的例子嗎? –

+1

請檢查[mcve] –

+3

您可能需要'outer'。 – Frank

回答

0

列表首先建立一個包含所有要合併的值的data.frame列表:

df <- setNames(expand.grid(x,a,b),c("x","a","b")) 

那麼你可以使用mapply

mapply(sigm, df$x,df$a,df$b) 
相關問題