【问题标题】:How to combining a list of named lists into a single dataframe or named list?如何将命名列表列表组合成单个数据框或命名列表?
【发布时间】:2014-04-14 18:48:17
【问题描述】:

我有一个命名列表的列表

t <- list(list(a=1,b=2,c=3), list(a=3, b=2, c=1), list(a=2, b=3, c=1))
[[1]]
[[1]]$a
[1] 1
[[1]]$b
[1] 2
[[1]]$c
[1] 3
[[2]]
[[2]]$a
[1] 3
[[2]]$b
[1] 2
[[2]]$c
[1] 1
[[3]]
[[3]]$a
[1] 2
[[3]]$b
[1] 3
[[3]]$c
[1] 1

我想得到一个命名列表或数据框,就像这样

$a
[1] 1 3 2
$b
[1] 2 2 3
$c
[1] 3 1 1

目前我正在遍历命名列表列表,将每个值添加到一个新的命名列表中。我怎样才能在一行中做到这一点?

【问题讨论】:

  • 尽量不要使用t作为变量名,因为有一个t()函数。 R通常保持直截了当,这不是一个好习惯。 dat 只是多了两个字母 :-)
  • @hrbrmstr 谢谢,我只用它作为临时变量

标签: r list combinations


【解决方案1】:

也许以下其中一项对您有用:

## As a data.frame
do.call(rbind, lapply(t, data.frame))
#   a b c
# 1 1 2 3
# 2 3 2 1
# 3 2 3 1

## As a list
as.list(do.call(rbind, lapply(t, data.frame)))
# $a
# [1] 1 3 2
# 
# $b
# [1] 2 2 3
#
# $c
# [1] 3 1 1

【讨论】:

    猜你喜欢
    • 2014-09-20
    • 1970-01-01
    • 2017-12-28
    • 1970-01-01
    • 2021-02-03
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 2016-02-03
    相关资源
    最近更新 更多