在 R 中使用 data.table 进行数据表连接
Scott Ritchie
Postdoctoral Researcher in Systems Genomics

使用 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
使用 variable.name 与 value.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
使用 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
两者同时用,可只保留部分列:
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 进行数据表连接