我希望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
我想创建一个包含var1
,var2
和var3
列的数据框,其中不会重复列var2
。
答案 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))
}
}