只是想知道是否有一种有效的方法来与数据表进行外连接,例如
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)
这样可以正常工作,但它没有内部连接那么高效,因为下面的运行速度非常快,但上面的速度非常慢。
setkey(a,a)
setkey(b,a)
a[b,]
只是想知道是否有一种有效的方法来与数据表进行外连接,例如
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)
这样可以正常工作,但它没有内部连接那么高效,因为下面的运行速度非常快,但上面的速度非常慢。
setkey(a,a)
setkey(b,a)
a[b,]
b[a,]
是你正在寻找的“外部联接”。
看一眼 ?merge.data.table
更多具体细节。