r - 嵌套列表 : Ordering it into a dataframe

标签 r list function dataframe

我有一个嵌套列表列表。每个嵌套列表的长度不同。列表中的每个值都分配了一个名称。我想从列表中创建一个数据框,但要对列表进行排序,以便每个值都位于数据框中的正确列中。

用英文很难解释,希望这个示例代码能解释一下:

list <- list(1,1:2,1:3)
names(list[[1]]) <- "a"
names(list[[2]]) <- c("c", "a")
names(list[[3]]) <- c("a","c","b")

table <- matrix(NA, nrow = 3, ncol = 3)
colnames(table) <- c("a","b","c")  

> list
[[1]]
a 
1 

[[2]]
c a 
1 2 

[[3]]
a c b 
1 2 3 

> table
      a  b  c
[1,] NA NA NA
[2,] NA NA NA
[3,] NA NA NA  

我想像这样将列表排序到表中:

>table
          a  b  c
list[[1]] 1 NA NA
list[[2]] 2 NA  1
list[[3]] 1  3  2

以便列表中值的名称与表中列的名称相匹配,list[[1]] 转到第 1 行,list[[2] ] 转到第 2 行等。

如有任何帮助,我们将不胜感激。

(附加信息:

我的实际数据集有数万个嵌套列表,最长的列表长度为26。

我在 Windows 10 上运行 32 位 R 3.2.4)

最佳答案

我们可以尝试 gtools 包中的 smartbind() 结合 do.call()

library('gtools')
do.call("smartbind", list)
#  a  c  b
#1 1 NA NA
#2 2  1 NA
#3 1  2  3

关于r - 嵌套列表 : Ordering it into a dataframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36412044/

相关文章:

r - 在 R 中解析 SVG 路径

r - 行之间的条件时间差。研发&dplyr/data.table

list - 如何在序言中找到列表的模式?

python - 嵌套列表 : Count, 最大值和最小值

java - java 中传递给静态函数的参数的更改

javascript - this.dummyproperty = dummyproperty 的真正含义是什么?

javascript - 使用 uiOutput 用 Shiny 的键盘触发 actionButton

r - 如何在保留 pdf 书签文本的同时获取无衬线标题?

python - 在查找成员资格时,集合比列表快得多

function - 从Rust中的函数返回值有哪些不同的方法?