R data.table: Jak mogę scalić listę data.tables? [duplikować]
Dec 11 2020
Mam długą listę data.tables. Chcę scalić (sprzężenie wewnętrzne) je wszystkie w jednym data.table.
Dzięki dplyr
i purrr
mogę:
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')
Jak mogę to zrobić z data.table?
Odpowiedzi
2 akrun Dec 11 2020 at 01:11
Możemy użyć złączenia on
library(data.table)
na.omit(Reduce(function(x, y) x[y, on = .(V1)], dtl))