L <- list(a= c(1,3,5), b= c(2,3,4,1), c= c(4,7))
v <- c(3,2,4)
如下所示
> L[[1]]+3
[1] 4 6 8
> L[[2]]+2
[1] 4 5 6 3
> L[[3]]+4
[1] 8 11
我希望得到的结果为
list(a= c(4,6,8), b= c(4,5,6,3), c= c(8,11))
是否可以使用APPLY函数?
答案 0 :(得分:0)
使用lapply()
:
L[] <- lapply(1:3, function(i) L[[i]] + v[i])
L
$a
[1] 4 6 8
$b
[1] 4 5 6 3
$c
[1] 8 11
答案 1 :(得分:0)
自那时以来,我找不到与此重复的内容。我将发布答案。
我们可以使用mapply
在列表中添加元素。
mapply("+", L, v)
#$a
#[1] 4 6 8
#$b
#[1] 4 5 6 3
#$c
#[1] 8 11