【发布时间】:2016-08-12 10:44:59
【问题描述】:
我在 data.frame 对象中有位置索引向量,但是在每个 data.frame 对象中,位置索引向量的顺序非常不同。但是,我想以非常特定的顺序将这些 data.frame 对象对象集成/合并到一个常见的 data.frame 中,并且不允许其中有重复。有谁知道更容易做到这一点的任何技巧?任何人都可以提出可能的方法来完成这项任务吗?
数据
v1 <- data.frame(
foo=c(1,2,3),
bar=c(1,2,2),
bleh=c(1,3,0))
v2 <- data.frame(
bar=c(1,2,3),
foo=c(1,2,0),
bleh=c(3,3,4))
v3 <- data.frame(
bleh=c(1,2,3,4),
foo=c(1,1,2,0),
bar=c(0,1,2,3))
整合后的初始输出:
initial_output <- data.frame(
foo=c(1,2,3,1,2,0,1,1,2,0),
bar=c(1,2,2,1,2,3,0,1,2,3),
bleh=c(1,3,0,3,3,4,1,2,3,4)
)
删除重复
rmDuplicate_output <- data.frame(
foo=c(1,2,3,1,0,1,1),
bar=c(1,2,2,1,3,0,1),
bleh=c(1,3,0,3,4,1,2)
)
最终期望的输出:
final_output <- data.frame(
foo=c(1,1,1,1,2,3,0),
bar=c(0,1,1,1,2,2,3),
bleh=c(1,1,2,3,3,0,4)
)
如何轻松获得最终所需的输出?有什么有效的方法可以对 data.frame 对象进行这种操作吗?谢谢
【问题讨论】:
-
另外,
library(data.table) ; unique(rbindlist(mget(ls()), use.names = TRUE)) -
@DavidArenburg:你能详细说明你的答案吗?
-
好的,我已经添加了一些解释的答案