R:将子列表展开到单个列表

时间:2017-05-24 21:36:53

标签: r list

我有一个列表列表,其中每个子列表具有相同数量的具有相同名称的元素;像这样:

l <- list( list(a=1, b=2), list(a=3, b=4), list(a=5, b=6) )

我想按名称重新排列内部子列表,使得结果列表只有两个元素,每个元素都是一个列表,但包含所有原始数据,即我想获得以下列表:

desired_list <- list( a=list(1, 3, 5), b=list(2, 4, 6) )

最有效的方法是什么?

1 个答案:

答案 0 :(得分:2)

您可以使用id | Book | Views --------------------- 3 | Book 3 | 4022 2 | Book 2 | 3792 1 | Book 1 | 3493

id | Book     | Views
---------------------
1  | Book 3   | 4022
2  | Book 2   | 3792
3  | Book 1   | 3493

alernative base R方法,使用purrr::transpose

pl <- purrr::transpose(l)

identical(desired_list, pl)
# [1] TRUE