使用R lappy和函数参数列表迭代函数
我有一个函数MyFun(a,b,c,d),它返回数据帧和绘图的列表。参数a、b、c、d只是表示“开始日期”、“结束日期”、“当前版本”和“以前版本”的字符串。为了简洁起见,我将用a,b,c,d来命名参数 我想用唯一的参数集运行MyFun(a、b、c、d),并将所有输出存储到一个列表中。为此,我创建了一个列表:使用R lappy和函数参数列表迭代函数,r,list,function,lapply,R,List,Function,Lapply,我有一个函数MyFun(a,b,c,d),它返回数据帧和绘图的列表。参数a、b、c、d只是表示“开始日期”、“结束日期”、“当前版本”和“以前版本”的字符串。为了简洁起见,我将用a,b,c,d来命名参数 我想用唯一的参数集运行MyFun(a、b、c、d),并将所有输出存储到一个列表中。为此,我创建了一个列表: arg_set1 <- list(a1,b1,c1,d1) arg_set2 <- list(a2,b2,c2,d2) arg_set3 <- list(a3,b3,
arg_set1 <- list(a1,b1,c1,d1)
arg_set2 <- list(a2,b2,c2,d2)
arg_set3 <- list(a3,b3,c3,d3)
arg_sets <- list(arg_set1, arg_set2, arg_set3)
arg_set1使用do.call
output <- lapply(arg_sets, function(x) do.call(my_fun, x))
输出完美!非常感谢你的帮助!那么如何解决这个问题呢。它不起作用。arg_set3
my_fun <- function(x, y , z) {
x + y + z
}
arg_sets <- list(a = as.list(1:3), b= as.list(4:6))
lapply(arg_sets, function(x) do.call(my_fun, x))
#$a
#[1] 6
#$b
#[1] 15
arg_set1 <- c(a1,b1,c1,d1)
arg_set2 <- c(a2,b2,c2,d2)
arg_set3 <- c(a3,b3,c3,d3)
arg_sets <- list(arg_set1, arg_set2, arg_set3)
lapply(arg_sets, function(x) do.call(my_fun, as.list(x)))