Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用R lappy和函数参数列表迭代函数_R_List_Function_Lapply - Fatal编程技术网

使用R lappy和函数参数列表迭代函数

使用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,

我有一个函数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,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)))