2014-04-19 35 views
1

假設:分配列表元素作爲函數的參數

list_a <- list(1, 10) 
list_2 <- list(5, 20) 

my.foo <- function (z,w) z+w 

我的主要問題是:對於每一個list_對象,如何通過它的兩個元素的my.foo的參數,以便獲得11和25?

我最親密的猜測來解決這個問題至今:

mapply(my.foo, list_a, list_2) 

,但它不適合於什麼,我需要做的,因爲它返回6個30

感謝您的任何建議, 斯特凡諾

回答

2

您可以使用lsget得到的對象和do.call打電話給你的函數對象作爲參數的內容:

sapply(ls(pattern="list_*"), function(x) do.call(my.foo, get(x))) 
# list_2 list_a 
#  25  11 

如果你不是想要提供的對象列表操作上:

objs <- list(list_a, list_2) 
unlist(lapply(objs, function(x) do.call(my.foo, x))) 
# [1] 11 25 
+0

第二個選項是一個我也試圖去努力,謝謝!斯特凡諾 – Stezzo

相關問題