Phép toán trên tập hợp

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

Scott Ritchie

Postdoctoral Researcher in Systems Genomics

Hàm thao tác tập hợp

Với hai data.tables có cùng cột:

  • fintersect(): những hàng nào hai data.tables này có chung?
  • funion(): tập hợp các hàng duy nhất trên cả hai data.tables là gì?

  • fsetdiff(): những hàng nào chỉ có ở data.table này?

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

Phép tập hợp: `fintersect()`

Trích các hàng xuất hiện trong cả hai data.tables

fintersect(dt1, dt2)

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

`fintersect()` và hàng trùng lặp

Mặc định bỏ qua hàng trùng lặp:

fintersect(dt1, dt2)

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

`fintersect()` và hàng trùng lặp

all = TRUE: giữ số bản sao có trong cả hai data.tables:

fintersect(dt1, dt2, all = TRUE)

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

Phép tập hợp: `fsetdiff()`

Trích các hàng chỉ có trong data.table thứ nhất

fsetdiff(dt1, dt2)

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

`fsetdiff()` và trùng lặp

Mặc định bỏ qua hàng trùng lặp:

fsetdiff(dt1, dt2)

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

`fsetdiff()` và trùng lặp

all = TRUE: trả về mọi bản sao thừa:

fsetdiff(dt1, dt2, all = TRUE)

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

Phép tập hợp: `funion()`

Trích tất cả hàng xuất hiện ở một trong hai data.table:

funion(dt1, dt2)

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

`funion()` và trùng lặp

Mặc định bỏ qua hàng trùng lặp:

funion(dt1, dt2)

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

`funion()` và trùng lặp

all = TRUE: trả về mọi hàng:

funion(dt1, dt2, all = TRUE) # rbind()

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

Xóa trùng lặp khi gộp nhiều `data.tables`

Hai data.tables:

  1. Dùng funion() để nối các hàng duy nhất

Ba bảng trở lên:

  1. Nối tất cả data.tables bằng rbind() hoặc rbindlist()
  2. Xác định và loại bỏ trùng lặp bằng duplicated() và unique()
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...