我正在尝试在R中合并2个列表。该列表的名称应用于执行连接。这是一个玩具示例:
> list1 <- list(A=c(1,2,3), B=c(2,4,5,6), C=c(1,3))
> list2 <- list(A=c(w,x), B=c(y,z))
最终的合并列表应如下所示:
$w
[1] 1 2 3
$x
[1] 1 2 3
$y
[1] 2 4 5 6
$z
[1] 2 4 5 6
到目前为止,我唯一的想法是将列表转换为数据帧,并使用合并功能。还有什么更简单的事情吗?
非常感谢你的帮助。
希望这是您想要的东西吗?实际上,您根本不需要list2。由于列表实际上是向量,因此我们可以使用命名的向量来“查找”所需的值list1,然后将这些名称分配给新列表
list1 <- list(A=c(1,2,3), B=c(2,4,5,6), C=c(1,3))
lookup <- c(w = "A",x = "A",y = "B",z = "B")
list2 <- list1[lookup]
names(list2) <- names(lookup)
list2
$w
[1] 1 2 3
$x
[1] 1 2 3
$y
[1] 2 4 5 6
$z
[1] 2 4 5 6
| 归档时间: | 
 | 
| 查看次数: | 914 次 | 
| 最近记录: |