ВПЛ Пусть выполнены таблицы 3 данных:R: Объединить data.table и заполнить
dt1<-data.table(Type=c("a","b"),x=1:2)
dt2<-data.table(Type=c("a","b"),y=3:4)
dt3<-data.table(Type=c("c","d"),z=3:4)
Я хочу, чтобы объединить их в 1 таблицу данных, поэтому я делаю это:
dt4<-merge(dt1,dt2,by="Type") # No error, produces what I want
dt5<-merge(dt4,dt3,by="Type") # Produces empty data.table (0 rows) of 4 cols: Type,x,y,z
Есть способ сделать Dt5 как это вместо ?:
> dt5
Type x y z
1: a 1 3 NA
2: b 2 4 NA
3: c NA NA 3
4: d NA NA 4
Посмотрите на запись справки для 'merge'. Есть аргумент под названием «все». – TheComeOnMan
+1 для краткого автономного воспроизводимого примера, с желаемым результатом и тем, что вы пытались сделать. Это отличный пример того, как правильно задавать вопрос, и я удивлен, что у него больше нет бонусов. –
@ SimonO101, я дал ему +1 по той же причине. Я удивлен, что на самом деле там проголосовали. – A5C1D2H2I1M1N2O1R2T1