Cú pháp data.table

Kết hợp dữ liệu với data.table trong R

Scott Ritchie

Postdoctoral Researcher in Systems Genomics

Ôn lại cú pháp data.table

Dạng tổng quát của cú pháp data.table

DT[i, j, by]
   |  |  |
   |  |  --> nhóm theo gì?
   |  -----> làm gì?
   --------> trên những hàng nào?
Kết hợp dữ liệu với data.table trong R

Joins

Dạng tổng quát của cú pháp join trong data.table

DT[i, on]
   |   |
   |   ----> cột khóa join
   --------> join với data.table nào?
Kết hợp dữ liệu với data.table trong R

Right joins

Join mặc định là right join

demographics[shipping, on = .(name)]

Kết hợp dữ liệu với data.table trong R

Tham số on

Biến bên trong list() hoặc .() được tra trong tên cột của cả hai data.table

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

Cũng có thể dùng vector ký tự

join_key <- c("name")
shipping[demographics, on = join_key]
Kết hợp dữ liệu với data.table trong R

Left joins

Nhớ rằng left join tương đương right join khi đảo thứ tự:

shipping[demographics, on = .(name)]

Kết hợp dữ liệu với data.table trong R

Inner joins

Đặt nomatch = 0 để thực hiện inner join:

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

Kết hợp dữ liệu với data.table trong R

Full joins

Không thể làm bằng cú pháp data.table, hãy dùng hàm merge():

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

Kết hợp dữ liệu với data.table trong R

Anti-joins

Lọc data.table còn lại các hàng không khớp trong data.table khác

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

Kết hợp dữ liệu với data.table trong R

Cùng luyện tập nào!

Kết hợp dữ liệu với data.table trong R

Preparing Video For Download...