合并两个数据框并删除重复的列

时间:2011-09-16 06:24:23

标签: r duplicate-data

我希望cbind两个数据框并删除重复的列。例如:

df1 <- data.frame(var1=c('a','b','c'), var2=c(1,2,3))
df2 <- data.frame(var1=c('a','b','c'), var3=c(2,4,6))

cbind(df1,df2) #this creates a data frame in which column var1 is duplicated

我想创建一个包含var1var2var3列的数据框,其中不会重复列var2

2 个答案:

答案 0 :(得分:9)

merge将完成这项工作。

尝试:

merge(df1, df2)

答案 1 :(得分:1)

如果您继承了其他人的数据集,并以某种方式最终得到重复的列并想要处理它们,这是一个很好的方法:

for (name in unique(names(testframe))) {
  if (length(which(names(testframe)==name)) > 1) {
    ## Deal with duplicates here. In this example
    ## just print name and column #s of duplicates:
    print(name)
    print(which(names(testframe)==name))
  }
}