R 列表到单个数据框单元格中

Oli*_*via 2 r list dataframe

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

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

View(list)

[[1]]
[1] 1

[[2]]
[1] 2

[[3]]
[1] 3

[[4]]
[1] 4

[[5]]
[1] 5
Run Code Online (Sandbox Code Playgroud)

我想对其进行改造,使其看起来像:

          x
1 1,2,3,4,5
Run Code Online (Sandbox Code Playgroud)

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

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

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

          x y
1 1,2,3,4,5 a
2     5,4,3 b
Run Code Online (Sandbox Code Playgroud)

Sot*_*tos 7

unlist您可以通过和轻松实现这一点paste,即

data.frame(x = paste(l1, collapse = ','))
#          x
#1 1,2,3,4,5
Run Code Online (Sandbox Code Playgroud)

或者简单地(感谢@David)

data.frame(x = toString(list))
#              x
#1 1, 2, 3, 4, 5
Run Code Online (Sandbox Code Playgroud)

附带说明一下,避免将列表命名为“list”,因为listR 中调用了一个函数

  • 或者我猜只是“toString(l1)”。或者如果你想要“粘贴”方式,只需“粘贴(l1,collapse = ',')” (2认同)