r - 将命名元素列表转换为数据框或数据表

标签 r dataframe

我有一个命名元素列表 (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

关于r - 将命名元素列表转换为数据框或数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31272379/

相关文章:

r - R重复功能,直到满足条件

python - 如何在pandas中删除数据框?

python - 使用 Python 根据数据框中的多个条件创建计算行

r - 在合并另一个列值时折叠数据框中的行

r - 如何在每个值的条件下 mutate_at 多列?

r - 使用 r 执行 PCA

在 lapply(.SD,...) 中为 data.table R 保留列名

python - pandas- 列中每个唯一字符串/组的新计算行

r - 在数据框中的特定位置添加列的优雅方式

r - 根据 data.table 中的另一列创建一列唯一标识符