我正在使用dplyr
的{{1}}合并两个data.tables,如下所示:
full_join
但结果是data.frame,而不是data.table。
library(data.table)
library(dplyr)
set.seed(90088)
dt1 <- data.table(id = 1:10, var1 = sample(20:30, 10, replace = T), key = "id")
dt2 <- data.table(id = 1:10, var2 = sample(40:50, 10, replace = T), key = "id")
both <- full_join(dt1, dt2)
我希望能够在我的代码中稍后利用data.tables的速度(理想情况下使用class(both)
# [1] "data.frame"
)。 dplyr
中是否有一些选项可以保留data.tables,还是必须使用full_join
语法进行合并?
答案 0 :(得分:3)
查看latest dplyr docs (currently v0.4.1),data.table(join.tbl_dt
)的基础连接方法尚不支持full_join()
,与data.frame方法(join.tbl_df
不同)。
我在dplyr github上的搜索表明目前没有针对此功能的优秀功能请求。因此,如果您希望看到它已实施,我建议提出请求,并在此期间使用merge
。