r - 如何将我的列表列表转换为可用的 data.frame(用于打印表格)?

标签 r

我有一个未命名列表的列表,需要将其转换为可用的 data.frame。在大多数情况下,列表中的每个列表都具有相同的元素名称,但有些会包含一些元素,而另一些则不会。所以每个列表应该是我的 data.frame 中的一行,每个变量名称应该是一列,并且在列表没有特定变量的情况下,data.frame 应该包含一个 NA 元素。

在我的示例中,this_list 是我正在使用的,而 this_df 是我想要的。我尝试了各种方法来取消列出并转换为 data.frame,但我的列名只是重复了,我只得到 1 个观察结果。谢谢你。

this_list <- list(list(
  Name = "One",
  A = 2,
  B = 3,
  C = 4,
  D = 5
),
list(
  Name = "Two",
  A = 5,
  B = 2,
  C = 1
))


this_df <- data.frame(Name=c("One","Two"),
                      A=c(2,5),
                      B=c(3,2),
                      C=c(4,1),
                      D=c(5,NA))

最佳答案

仅使用基础 R 的解决方案。按顺序对每个列表元素进行完全连接。 (根据@RichScriven 的评论编辑)

 this_df <- Reduce(function(x, y) merge(x, y, all = TRUE), this_list)

关于r - 如何将我的列表列表转换为可用的 data.frame(用于打印表格)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48253045/

相关文章:

r - knitr 不会在 R 3.0.2 上转换 xtable 输出

R 包 : writing internal data, 但不是一次全部

r - 检测栅格是否在 SpatialPolygons 对象之内、之外或相交

R-有没有办法将行数可变的列表组合到数据帧中

r - 基于行和列总和的 0 和 1 条件随机矩阵

r - 每个 bin 的均值直方图

java - 可以推荐哪种语言用于文本挖掘/解析?

对 R 中每个值的变化进行排名

r - 为什么两个独立样本 t 检验和双向方差分析在同一数据集上给出不同的结果?

滚动滞后差异