Предположим, у меня есть два кадра данных. Каждая из них имеет столбцы DAY, MONTH и YEAR вместе с одной другой переменной C и P соответственно. Я хочу объединить два кадра данных двумя разными способами. Во-первых, я объединяюсь по данным:Объединение фреймов данных в R
test<-merge(data1,data2,by.x=c("DAY","MONTH","YEAR"),by.y=c("DAY","MONTH","YEAR"),all.x=T,all.y=F)
Это работает отлично. Второе слияние - это то, с чем я столкнулся. Итак, в настоящее время я объединил значение для 5 января 1996 года из data1 и значение для 5 января 1996 года из data2 в один фрейм данных, но теперь я хотел бы объединить третье значение в каждую строку нового фрейма данных. В частности, я хочу объединить значение для 4 января 1996 года из data2 с двумя значениями с 5 января 1996 года. Какие-нибудь советы по слиянию должны быть такими гибкими?
выборка данных:
data1
C DAY MONTH YEAR
1 1 1 1996
6 5 1 1996
5 8 1 1996
3 11 1 1996
9 13 1 1996
2 14 1 1996
3 15 1 1996
4 17 1 1996
data2
P DAY MONTH YEAR
1 1 1 1996
4 2 1 1996
8 3 1 1996
2 4 1 1996
5 5 1 1996
2 6 1 1996
7 7 1 1996
4 8 1 1996
6 9 1 1996
1 10 1 1996
7 11 1 1996
3 12 1 1996
2 13 1 1996
2 14 1 1996
5 15 1 1996
9 16 1 1996
1 17 1 1996
его трудно сказать без дополнительной информации о датах, с которыми вы имеете дело. потенциально вы можете преобразовать их в даты, а затем в числовые и округлять их так близко друг к другу, то же самое ... или если у вас есть только одна дата в месяц, слияние только на месяц и год ... можете ли вы предоставить небольшой образец данных, чтобы мы могли видеть, с чем вы работаете? также, на боковой ноте, вам не нужно указывать 'by.x' и' by.y'. 'merge' найдет соответствующие столбцы и все равно сольется с ними. – Justin