Cast data.table

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

Scott Ritchie

Postdoctoral Researcher in Systems Genomics

Cast một data.table dạng dài

sales_wide <- dcast(sales_long, quarter ~ year, value.var = "amount")

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

Hàm dcast()

Dạng tổng quát của dcast():

dcast(DT, ids ~ group, value.var = "values")
      |   |     |                   |
      |   |     |                    --> cột để tách
      |   |      ----------------------> nhãn nhóm để tách theo
      |    ----------------------------> các hàng giữ lại làm định danh
       --------------------------------> data.table cần đổi dạng            
Kết hợp dữ liệu với data.table trong R

Hàm dcast()

sales_wide <- dcast(sales_long, quarter ~ year, value.var = "amount")

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

Tách nhiều cột giá trị

dcast(profit_long, quarter ~ year, value.var = c("revenue", "profit"))

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

Nhiều định danh hàng

Giữ nhiều cột làm định danh hàng:

dcast(sales_long, quarter + season ~ year, value.var = "amount")

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

Loại bỏ cột

Chỉ các cột trong công thức hoặc value.var có trong kết quả:

sales_wide <- dcast(sales_long, quarter ~ year, value.var = "amount")

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

Nhiều nhóm

Tách theo nhiều cột nhóm:

dcast(sales_long, quarter ~ department + year, value.var = "amount")

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

Chuyển thành ma trận

sales_wide <- dcast(sales_long, season ~ year, value.var = "amount")
sales_wide
   season    2015    2016
1: Autumn 3420000 3670000
2: Spring 2950000 3000300
3: Summer 2980700 3120200
4: Winter 3200100 3350000
Kết hợp dữ liệu với data.table trong R

Chuyển thành ma trận

as.matrix() có thể lấy một cột làm tên hàng (rownames) của ma trận:

mat <- as.matrix(sales_wide, rownames = "season")
mat
       2015    2016        
Autumn 3420000 3670000
Spring 2950000 3000300
Summer 2980700 3120200
Winter 3200100 3350000
Kết hợp dữ liệu với data.table trong R

Ayo berlatih!

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

Preparing Video For Download...