将命名元素的列表转换为数据帧或数据表

我有一些名称元素(testlist)的列表,其中一些名称被重复

$x
[1] "one"

$x
[1] "two"

$y
[1] "three"

$y
[1] "four"

而且我试图最终得到一个数据表,它将通用名称的元素组合到同一列中.

     x     y
1: one three
2: two  four

我努力了

testdf <- do.call(cbind, lapply(testlist, data.table))

但最终只能是:

   x.V1 x.V1  y.V1 y.V1
1:  one  two three four

有什么建议么?欣赏帮助!

最佳答案
尝试

library(data.table)#v1.9.5+
dcast(setDT(stack(testlist))[, N:= 1:.N, ind],
                  N~ind, value.var='values')[,N:=NULL][]
#    x     y
#1: one three
#2: two  four

或者基本的R方法

unstack(stack(testlist),values~ind)
#   x     y
#1 one three
#2 two  four

转载注明原文:将命名元素的列表转换为数据帧或数据表 - 代码日志