2017-08-11 58 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) 
相关问题