R data.table: Wie kann ich eine Liste von data.tables zusammenführen? [Duplikat]

Dec 11 2020

Ich habe eine lange Liste von data.tables. Ich möchte sie alle in einer einzigen Datentabelle zusammenführen (innerer Join).

Mit dplyrund purrrich kann:

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')

Wie kann ich das mit data.table machen?

Antworten

2 akrun Dec 11 2020 at 01:11

Wir können join verwenden on

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