У меня есть 2 таблицы данных в R
A <- data.table(a = 1:4, b = 12:15)
B <- data.table(a = 2:3, b = 13:14)
При использовании
C<-plyr::join(A,B)
возвращается
a b
1: 1 12
2: 2 13
3: 3 14
4: 4 15
Когда я использую
setkey(A, "a")
setkey(B, "a")
B[A]
возвращает
a b i.b
1: 1 NA 12
2: 2 13 13
3: 3 14 14
4: 4 NA 15
Почему у нас есть разница в результате для обеих функций? Plyr применяет левое соединение ко всем соответствующим переменным. Data.table делает то же самое правильно? Как мы можем достичь результата, который дает plyr, используя data.table?