【问题标题】:R list into a single data frame cellR列表到单个数据框单元格
【发布时间】:2016-12-05 13:44:07
【问题描述】:

我想将列表更改为数据框的一个单元格。

  list <- list(1,2,3,4,5)

View(list)

[[1]]
[1] 1

[[2]]
[1] 2

[[3]]
[1] 3

[[4]]
[1] 4

[[5]]
[1] 5

我想把它改成如下所示:

          x
1 1,2,3,4,5

原因是因为我有一个循环将每次迭代的结果存储在一个列表中,但每次迭代我只想要一个单元格。

还有其他列,每次迭代只有一个结果。因此,将其保存在数据框中很容易。但是对于具有多个结果的指标,我不想要多个列或行。

所以我将有两个可以使用cbind 的数据框,这样我的最终数据框将如下所示:

          x y
1 1,2,3,4,5 a
2     5,4,3 b

【问题讨论】:

    标签: r list dataframe


    【解决方案1】:

    您可以通过unlistpaste 轻松实现,即,

    data.frame(x = paste(l1, collapse = ','))
    #          x
    #1 1,2,3,4,5
    

    或者简单地说(感谢@David)

    data.frame(x = toString(list))
    #              x
    #1 1, 2, 3, 4, 5
    

    附带说明,避免将列表命名为“列表”,因为 R 中有一个名为 list 的函数

    【讨论】:

    • 或者只是toString(l1) 我猜。或者只是paste(l1, collapse = ','),如果你想要paste方式
    • toString 更快还是更容易编写?
    • 不确定。但是,我怀疑有人会比其他人更有效率。
    猜你喜欢
    • 2022-01-12
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多