R 的 data.table 資料合併
Scott Ritchie
Postdoctoral Researcher in Systems Genomics
sales_wide <- dcast(sales_long, quarter ~ year, value.var = "amount")

dcast() 的一般形式:
dcast(DT, ids ~ group, value.var = "values")
| | | |
| | | --> 要拆分的欄
| | ----------------------> 依此分組的標籤
| ----------------------------> 保留為識別欄的列
--------------------------------> 要重塑的 data.table
sales_wide <- dcast(sales_long, quarter ~ year, value.var = "amount")

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

保留多個識別欄作為列索引:
dcast(sales_long, quarter + season ~ year, value.var = "amount")

只有公式或 value.var 中包含的欄會出現在結果中:
sales_wide <- dcast(sales_long, quarter ~ year, value.var = "amount")

依多個分組欄拆分:
dcast(sales_long, quarter ~ department + year, value.var = "amount")

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
as.matrix() 可以取其中一欄作為矩陣的列名稱:
mat <- as.matrix(sales_wide, rownames = "season")
mat
2015 2016
Autumn 3420000 3670000
Spring 2950000 3000300
Summer 2980700 3120200
Winter 3200100 3350000
R 的 data.table 資料合併