R data.table: как я могу объединить список data.tables? [дубликат]

Dec 11 2020

У меня длинный список data.tables. Я хочу объединить (внутреннее объединение) их все в одну таблицу data.table.

С dplyrи purrrя могу:

dt1 <- data.table(cbind(letters[1:10], 1:10))
dt2 <- data.table(cbind(letters[3:12], 3:12))
dt3 <- data.table(cbind(letters[5:15], 5:15))

dtl <- list(dt1, dt2, dt3)

library(dplyr)
library(purrr)
merged <- dtl %>% reduce(inner_join, by='V1')

Как я могу это сделать с помощью data.table?

Ответы

2 akrun Dec 11 2020 at 01:11

Мы можем использовать соединение on

library(data.table)
na.omit(Reduce(function(x, y) x[y, on = .(V1)], dtl))