У меня есть пара датафреймов:
Date Identifier1 Identifier2 Status UsageGroup Value1 Value2
2011-08-05 A1 A2 1 2 3022 30
2013-10-06 A1 A2 1 2 5368 62
2014-9-21 A1 A2 1 2 9567 112
2015-12-25 A1 A2 1 2 15002 178
2016-10-21 A1 A2 1 2 18001 236
Я бы хотел изменить их на:
Date Identifier1 Identifier2 Status UsageGroup Value Id
2011-08-05 A1 A2 1 2 3022 1
2013-10-06 A1 A2 1 2 5368 1
2014-9-21 A1 A2 1 2 9567 1
2015-12-25 A1 A2 1 2 15002 1
2016-10-21 A1 A2 1 2 18001 1
2011-08-05 A1 A2 1 2 30 2
2013-10-06 A1 A2 1 2 62 2
2014-9-21 A1 A2 1 2 112 2
2015-12-25 A1 A2 1 2 178 2
2016-10-21 A1 A2 1 2 236 2
Я сделал это, используя полное объединение и разделив исходный набор данных следующим образом:
df1<-df %>% rename(value=Value1) %>% select(-c("Value2")) %>% mutate(id=1)
df2<-df %>% rename(value=Value2) %>% select(-c("Value1")) %>% mutate(id=2)
df<-fulljoin(df1,df2) %>% group_by(id)
Однако я хотел бы знать, есть ли более эффективный подход, поскольку мне нужно объединить довольно большие наборы данных.