У меня есть проблема объединения двух фрейм данных с небольшой кадр данных является приоритетом, рассмотрим следующий пример, пожалуйста:Объединение двух кадров данных различной длины и разного уровня столбца в R
d1
x y
a 4
b 5
c 9
d2
y z
5 2
7 8
9 3
4 1
6 8
я хочу, чтобы получить тот же длина в качестве малой длиной кадра данных, если у столбца d1 = у колонки d2, как показано ниже:
merged
y x z
4 a 1
5 b 2
9 c 3
я написал следующие коды, но не похожа на работу:
merged <- merge(d1, d2, by.x="y", by.y="y")
Может ли кто-нибудь помочь?
спасибо.
'merge (df1, df2)' должен сделать это. И я тоже получаю правильный результат с вашим кодом. Что не работает? Что такое сообщение об ошибке? –
"Предупреждающее сообщение: В файле merge.data.frame (d1, d2, by.x =" y ", by.y =" y "): имя столбца 'y' дублируется в результате" и дает мне "5" строки вместо 3. – aliocee
@aliocee Вы попробовали предложенный RichardScriven. Он должен получить то, что вы хотели. Если вы хотите указать 'by', это должно быть' merge (df1, df2, by = 'y') ', и ваши коды также дают результат без предупреждения. Вы должны представить пример, который дает предупреждение, но это не так. – akrun