首页 > 解决方案 > 如何在R中合并原子向量的元素?

问题描述

我想通过存储在列表中的元素名称合并原子向量的不同元素。参见示例:

ls = list(a = c(a = 1, b = 2, d = 2), b = c(b = 2, c = 3), c = c(a = 1, b = 2))

现在,我想得到这样的输出:

   a  b  c
a  1  NA 1
b  2  2  2
c  NA 3  NA
d  2  NA NA

我试过Reduce了,但它不起作用。我不想为这个问题使用任何外部包。

谢谢

标签: rdataframemerge

解决方案


提取所有元素名称后,您可以使用[in 。sapply

i <- sort(unique(unlist(lapply(ls, names))))
x <- sapply(ls, "[", i)
rownames(x) <- i
x
#   a  b  c
#a  1 NA  1
#b  2  2  2
#c NA  3 NA
#d  2 NA NA

推荐阅读