full_join
和
merge
从
data.table
在64位Windows系统中(Intel ~ 3.5 Ghz,RAM 120GB)。希望它至少能为您的案例提供参考。
library(data.table)
df1 <- data.table(KEY=sample(1:800,20015,replace = TRUE),
matrix(rnorm(20015*7),20015,7))
df2 <- data.table(KEY=sample(1:800,8534664,replace = TRUE),
matrix(rnorm(8534664*29),8534664,29))
library(dplyr)
tick <- Sys.time()
df_join <- full_join(df1, df2, by = "KEY")
tock <- Sys.time()- tick
tick <- Sys.time()
df_join<- merge(df1, df2, by = "KEY", allow.cartesian = TRUE)
tock <- Sys.time() - tick