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 によるデータ結合