data.table-syntax

Att sammanfoga data med data.table i R

Scott Ritchie

Postdoctoral Researcher in Systems Genomics

Repetition av data.table-syntax

Allmän form för data.table-syntax

DT[i, j, by]
   |  |  |
   |  |  --> gruppera efter vad?
   |  -----> vad ska göras?
   --------> på vilka rader?
Att sammanfoga data med data.table i R

Joins

Allmän form för joins med data.table-syntax

DT[i, on]
   |   |
   |   ----> join-nyckelkolumner
   --------> join till vilken data.table?
Att sammanfoga data med data.table i R

Right joins

Standardjoinen är en right join

demographics[shipping, on = .(name)]

Att sammanfoga data med data.table i R

Argumentet on

Variabler inom list() eller .() slås upp bland kolumnnamnen i båda data.table-objekten

shipping[demographics, on = list(name)]
shipping[demographics, on = .(name)]

Teckenvektorer kan också användas

join_key <- c("name")
shipping[demographics, on = join_key]
Att sammanfoga data med data.table i R

Left joins

En left join är samma sak som en right join med omvänd ordning:

shipping[demographics, on = .(name)]

Att sammanfoga data med data.table i R

Inner joins

Sätt nomatch = 0 för att utföra en inner join:

shipping[demographics, on = .(name), nomatch = 0]

Att sammanfoga data med data.table i R

Full joins

Inte möjligt med data.table-syntax – använd funktionen merge() istället:

merge(demographics, shipping, by = "name", all = TRUE)

Att sammanfoga data med data.table i R

Anti-joins

Filtrera en data.table till rader som saknar matchning i en annan data.table

demographics[!shipping, on = .(name)]

Att sammanfoga data med data.table i R

Nu kör vi en övning!

Att sammanfoga data med data.table i R

Preparing Video For Download...