假设我们有一个包含三个子列表的列表:list1 <- [[1,2],[4,5],[7,8]]
和一个向量:vector1 <- c(3,6,9)
R中是否有一种方法,不使用循环将向量的值添加到列表中,因此我们可以获得结果list2 = [[1,2,3],[4,5,6],[7,8,9]]
?
感谢所有评论
答案 0 :(得分:3)
使用Map
Map(c, list1, vector1)
#[[1]]
#[1] 1 2 3
#[[2]]
#[1] 4 5 6
#[[3]]
#[1] 7 8 9
或lapply
lapply(seq_along(list1), function(x) c(list1[[x]], vector1[[x]]))
等效的purrr
变体可以是
purrr::map2(list1, vector1, c)
purrr::map(seq_along(list1), ~c(list1[[.]], vector1[[.]]))
数据
list1 <- list(c(1,2),c(4,5),c(7,8))
vector1 <- c(3,6,9)