1
我的原始數據是堆疊時間序列的表格。每行記錄特定商店和部門對的每週銷售量。使用重塑從堆疊時間序列表中構建寬矩陣
與3獨特的商店部門配對的一個例子:
Store Dept Date Weekly_Sales
------- ------ ----------- --------------
1 1 5/2/2010 1
1 1 12/2/2010 2
1 1 19/2/2010 3
1 2 5/2/2010 4
1 2 12/2/2010 5
1 2 19/2/2010 6
2 1 5/2/2010 7
2 1 12/2/2010 8
2 1 19/2/2010 9
我想使用Reshape2包下熔化和鑄造方法,我的表格轉換爲這種格式。
Date Store1_Dept1 Store1_Dept2 Store2_Dept1
----------- -------------- -------------- --------------
5/2/2010 1 4 7
12/2/2010 2 5 8
19/2/2010 3 6 9
我有2個問題,尋求幫助與:
我的做法是用日期作爲我的id來融化我的原始數據幀。
melt.df < - melt.data.frame(DF,id.vars = '日期')
這種方法產生一個錯誤,我不明白。
Error in as.Date.numeric(value) : 'origin' must be supplied
- 我不確定如何使用dcast()方法來實現我需要的結果,當短語的公式。
@akrun:謝謝你,我向類似的問題在這裏。 我嘗試使用相同的方法作爲我的示例: 'library(data.table)' 'dcast(train,Date〜Weekly_Sales,value.var = c(「Store」,「Dept」),sep =「 。')' 但是我收到這個錯誤: '.subset2(x,i,exact = exact)中的錯誤:下標超出範圍' –
您需要的是'dcast(train,Date〜Store + Dept,value .var =「Weekly_Sales」)' – akrun
@akrun:謝謝你,你的代碼工作完美。 –