mapply函数不能按预期工作

时间:2017-10-10 10:21:01

标签: r mapply

我正在写一个大函数。我想使用mapply函数在列表上运行函数。

我有这个:

 x <- list(1,3, 4, 5)
 y <- list(5,6,7,3)
 res <- mapply(x  , y , FUN = function(x, y) double(x + y)) 
[[1]]
[1] 0 0 0 0 0 0

[[2]]
[1] 0 0 0 0 0 0 0 0 0

[[3]]
 [1] 0 0 0 0 0 0 0 0 0 0 0

[[4]]
[1] 0 0 0 0 0 0 0 0

我希望结果只是两个列表。像这样:

 [[1]]
0 0 0 0 0 

[[2]]
0 0 0 0 0 

所以我希望答案只针对两个列表而不是列表中的每个元素。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

尝试lapply功能。

my_list(x,y)
m <- length(my_list)
lapply(1:m, function(i) double(x[[i]]+y[[i]]))

你的列表长度是4,所以你不能把它作为输出的两个!