【发布时间】:2012-10-03 07:14:12
【问题描述】:
我有同名的列表 v1 和 v2:
v1: structure(list(ID = c("A1"), Name = c("A2"),.Names = c("ID", "Name")
...
v2: structure(list(ID = c("B1"), Name = c("B2"),.Names = c("ID", "Name")
我想连接列表,同时保留名称,即得到如下内容:
v12: structure(list(ID = c("A1","B1"), Name = c("A2","B2"),
.Names = c("ID", "Name")
手动连接有效:
v12<-cbind(Map(c, v1, v2))
但是,如果 v1 和 v2 是应用 lapply() 的结果,并且它们本身存储在一个列表中,类似的逻辑似乎不起作用:
v<-lapply(...)
v12<-cbind(Map(c,v))
自动化流程的最佳方法是什么?例如:
v1 <- structure(list(ID = c("A1"), Name = c("A2")),.Names = c("ID", "Name"))
v2 <- structure(list(ID = c("B1"), Name = c("B2")),.Names = c("ID", "Name"))
v <- list(v1, v2)
k<-t(mapply(c, v))
结果:
ID Name
A1 A2
B1 B2
不在:
ID Name
"A1","B1" "A2","B2"
【问题讨论】:
-
你的问题很混乱。它提到了
cbind,但我认为您实际上是在寻找rbind。你提到了lists,但看起来你实际上指的是data.frames。您能否尝试发布一些可重现的代码。请参阅this post 了解一些提示。 -
感谢 Sven,代码是这样的:'v1
-
@sven-hohenstein,感谢您的回复,但您的代码导致:ID Name 1 A1 A2 2 B1 B2 虽然我迫切需要:ID Name 1 "A1","A2" "B1" ,"B2"
-
您的迫切需要完全不清楚。你需要的东西的结构是什么?显示它的印刷表示并不能告诉我们它的内部表示。