Присоединиться к кадру данных (tibble) с разными именами столбцов [дубликаты]

Я ищу решение dplyr для объединения двух df (или tibble) в dplyr, когда они имеют одинаковую длину, но разные имена столбцов.

Решения, которые я нашел до сих пор, относятся к общему имени столбца, объединенному через поле by = "" .

Структура:

df1

A B
1 4
2 2

df2

C D
4 1
3 4

Желаемый результат:

дф

A B C D
1 4 4 1
2 2 3 4

person Christopher    schedule 28.11.2017    source источник
comment
Я думаю, что cbind делает свою работу, слияние в вопросе было просто неправильным (исправлено).   -  person Christopher    schedule 28.11.2017


Ответы (1)


Вы можете попробовать это:

library(data.table)
setDT(df1,keep.rownames=T); setDT(df2,keep.rownames=T)
df3 <- df1[df2,on="rn"]
df3 <- subset(df3, select = -c(rn))

Подход взят из здесь.

ИЗМЕНИТЬ

Вы могли бы достичь аналогичного результата с помощью dplyr

df1$rn <- seq.int(nrow(df1))
df2$rn <- seq.int(nrow(df2))
df3 <- full_join(df1, df2, by = rn)
person Barbara    schedule 28.11.2017
comment
Я ценю решение, хотя я предпочитаю не загружать другую библиотеку :). - person Christopher; 28.11.2017
comment
@Christopher Кристофер, я отредактировал свой ответ, чтобы он использовал только dplyr - person Barbara; 28.11.2017