Объединить два фрейма данных и удалить повторяющиеся столбцы
Я хочу 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
- это не повторится.
2 ответов
Если вы наследуете чужой набор данных и каким-то образом получаете дубликаты столбцов и хотите иметь с ними дело, это хороший способ сделать это:
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))
}
}