Just wondering if there is an efficient way to do outer joins with data table such as
a <- data.table(a=c(1,2,3),b=c(3,4,5))
b <- data.table(a=c(1,2),k=c(1,2))
merge(a,b,by="a",all.x=T)
this works fine, but it is not as efficient as the inner join with bigger data, as the following runs very fast, but the above is really slow.
setkey(a,a)
setkey(b,a)
a[b,]
Answer
b[a,]
is the "outer join" you're looking for.
Take a look at ?merge.data.table
for more specifics.
No comments:
Post a Comment