将字段添加到列表

问题描述:

我有一个列表将字段添加到列表

> (mylist <- list(list(a=1),list(a=2),list(a=3))) 
[[1]] 
[[1]]$a 
[1] 1 


[[2]] 
[[2]]$a 
[1] 2 


[[3]] 
[[3]]$a 
[1] 3 

的每一个元素,我想从11:13添加字段b到每个子表得到的东西像

> (mylist <- list(list(a=1,b=11),list(a=2,b=12),list(a=3,b=13))) 
[[1]] 
[[1]]$a 
[1] 1 

[[1]]$b 
[1] 11 


[[2]] 
[[2]]$a 
[1] 2 

[[2]]$b 
[1] 12 


[[3]] 
[[3]]$a 
[1] 3 

[[3]]$b 
[1] 13 

我怎样做这个?

(请注意,我有大量这样的相对较小的列表,因此将在apply中调用,并且必须相当快)。

+0

'lapply(mylist,function(l){l $ b Justin

mylist <- list(list(a=1),list(a=2),list(a=3)) 
b.vals <- 11:13 
mylist <- lapply(
    1:length(mylist), 
    function(x) { 
    mylist[[x]]$b <- b.vals[[x]] 
    mylist[[x]] 
}) 
+0

是的,这也是我想出来的,除了我用'c(b = b.vals [x],mylist [[x]])'而不是' sds

+0

@sds,你的方法有点干净。 – BrodieG