Объедините два фрейма данных и удалите дубликаты столбцов. - PullRequest
8 голосов
/ 16 сентября 2011

Я хочу 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 ]

9 голосов
/ 16 сентября 2011

merge сделает эту работу.

попробовать:

merge(df1, df2)
1 голос
/ 06 декабря 2013

Если вы унаследуете чужой набор данных и каким-то образом получите дублирующиеся столбцы и захотите с ними справиться, это хороший способ сделать это:

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))
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...