向列表R中的每个子列表添加向量

时间:2015-09-14 04:01:53

标签: r

我有两个结构相同的列表。我想将它们组合起来以产生以下所需的输出。

woocommerce

1 个答案:

答案 0 :(得分:5)

由于“A”和“B”中相应list元素的长度不同,我们可以将其保持在list。一个方便的功能是Map,可以在'A'和'B'的相应list元素上执行此操作。

lst <- Map(list, A, B)

如果我们希望将其保留为matrix NA以填充不等长,则stri_list2matrix中的一个选项为library(stringi)。输出为matrix,但我们需要将character输出转换回numeric

library(stringi)
lst1 <- lapply(lst, stri_list2matrix, byrow=TRUE)
lapply(lst1, function(x) matrix(as.numeric(x),nrow=2))
#[[1]]
#      [,1] [,2] [,3] [,4] [,5] [,6]
#[1,]    1    2    3    2    1    4
#[2,]    2    1    3    2   NA   NA

#[[2]]
#     [,1] [,2] [,3] [,4] [,5] [,6]
#[1,]    7    3    1    2    2    1
#[2,]    3    1    5    2   NA   NA

#[[3]]
#     [,1] [,2] [,3] [,4] [,5] [,6]
#[1,]    2    3    7    2    2    8
#[2,]    2    4    5    1   NA   NA