我有一个列表列表,其中每个子列表具有相同数量的具有相同名称的元素;像这样:
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) )
最有效的方法是什么?
答案 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