熔化 data.table

R 的 data.table 資料合併

Scott Ritchie

Postdoctoral Researcher in Systems Genomics

將寬表熔化為長表

R 的 data.table 資料合併

`melt()` 函式

使用 measure.vars 指定要堆疊的欄位:

melt(sales_wide, measure.vars = c("2015", "2016"))
   quarter variable   value
1:       1     2015 3200100
2:       2     2015 2950000
3:       3     2015 2980700
4:       4     2015 3420000
5:       1     2016 3350000
6:       2     2016 3000300
7:       3     2016 3120200
8:       4     2016 3670000
R 的 data.table 資料合併

`melt()` 函式

使用 variable.namevalue.name 重新命名輸出欄位:

melt(sales_wide, measure.vars = c("2015", "2016"), 
     variable.name = "year", value.name = "amount")
   quarter year  amount
1:       1 2015 3200100
2:       2 2015 2950000
3:       3 2015 2980700
4:       4 2015 3420000
5:       1 2016 3350000
6:       2 2016 3000300
7:       3 2016 3120200
8:       4 2016 3670000
R 的 data.table 資料合併

`melt()` 函式

使用 id.vars 指定要保留的鍵欄位:

melt(sales_wide, id.vars = "quarter", 
     variable.name = "year", value.name = "amount")
   quarter year  amount
1:       1 2015 3200100
2:       2 2015 2950000
3:       3 2015 2980700
4:       4 2015 3420000
5:       1 2016 3350000
6:       2 2016 3000300
7:       3 2016 3120200
8:       4 2016 3670000
R 的 data.table 資料合併

`melt()` 函式

同時使用上述參數,只保留部分欄位:

melt(sales_wide, id.vars = "quarter", measure.vars = "2015", 
     variable.name = "year", value.name = "amount")
   quarter year  amount
1:       1 2015 3200100
2:       2 2015 2950000
3:       3 2015 2980700
4:       4 2015 3420000
R 的 data.table 資料合併

一起來練習吧!

R 的 data.table 資料合併

Preparing Video For Download...