将列表转换为 data.frame 后如何使格式干净优雅?

How to make format clean and elegant after casting list to data.frame?

我在列表中有一组向量。我想将我的列表投射到 data.frame 对象以进行快速操作。此站点中已有将列表投射到 data.frame 的解决方案。但是,我尝试了这个解决方案,效果很好,但格式有点大,格式不完美。谁能提出让铸造结果更干净/优雅的想法?如何才能有效地实现这一目标?

小例子

myList <- list(
  a = c(1,2,3,4,5,6,7),
  b = c(1,1,1,2,0,3,4),
  c = c(1,2,4,4,5,0,6)
)

我使用了以下解决方案:

do.call(rbind, lapply(myList, data.frame, stringsAsFactors=FALSE))

我想要的输出

output <- data.frame(
  a = c(1,2,3,4,5,6,7),
  b = c(1,1,1,2,0,3,4),
  c = c(1,2,4,4,5,0,6))

如何获得预期的输出?非常感谢

这应该有用吗?

output <- data.frame(myList)
colnames(output) <- c("a", "b", "c")

您应该使用 cbind 而不是 rbind 并设置数据框名称。

output <- do.call(cbind,lapply(myList,data.frame, stringsAsFactors=FALSE))
names(output) <- c("a","b","c")

如果我们需要转换成data.table,直接在list

上使用setDT
library(data.table)
setDT(myList)[]
#   a b c
#1: 1 1 1
#2: 2 1 2
#3: 3 1 4
#4: 4 2 4
#5: 5 0 5
#6: 6 3 0
#7: 7 4 6