2014-02-06 62 views
0

我認爲我遇到的問題應該是常見的,但由於某種原因,我目前還找不到合適的答案,所以這裏是我的問題 - 我在做時間序列分析使用R,和我的數據看起來像R系列時間序列分析 - 除時間段以外的多個輸入變量

time_period customer# sales_amt sales_qty 
2013/01  123  $xxx,xxx.xx xxx 
2013/01  345  $yyy,yyy.yy yyy 
2013/02 .... 

到目前爲止,我可以爲每一個客戶手動一個一個做,但是當我有100個多家客戶,這是不可能做到這種方式,我希望能夠一勞永逸地包含所有客戶,而且以後我還必須包含其他輸入變量,比如除了客戶#之外的銷售區域,我應該如何包含這些額外的輸入變量?

回答

0

我想這不是一個答案,因爲你沒有問一個確切的問題。這是一個建議,或者O如何做到這一點。

首先你應該用你所有的變量創建一個data.frame。 然後要按組來處理您的數據,一個選項是使用來自plyrddply來使用split-apply-bind範例。例如,假設dat是您的data.frame。

## process by customer 
ddply(dat,.(customer), 
     function(x){ 
     ## here you procces each time customer time series 
      xts(x$sales_amt,x$time_period) 
     }) 
## by customer and by region 
ddply(dat,.(customer,region), 
     function(x){ 
     ## here you procces each time customer time series 
      xts(cbind(x$sales_amt,x$sales_qty),x$time_period) 
     }) 

請注意,我使用xts包來處理時間序列對象。