我在處理趨勢時陷入困境。我的問題類似於下面的線程,但我有一個額外的變量稱爲'項目'。確定具有多個變量(如客戶ID /項目等)的銷售趨勢
How to determine trend of time-series of values in R
我的最終結果將是象下面這樣的樣品。請幫助
Customer_ID Item Sales_Slope
Josh milk Positive
Josh eggs Negative
Eric milk Mixed
Eric eggs postive
我的數據:
require("data.table")
dat <- data.table(
customer_ID=c(rep("Josh",6),rep("Ray",7),rep("Eric",7)),
item=c(rep("milk",3),rep("eggs",3),rep("milk",4),rep("eggs",3),rep("milk",3),rep("eggs",4)),
sales=c(35,50,65,65,52,49,15,10,13,9,35,50,65,65,52,49,15,10,13,9))
dat[,transaction_num:=seq(1,.N), by=c("customer_ID")]
除了data.table和「通過」鍵詢問多次,這具有強相似/是[如何確定R中一系列值的趨勢]的可能重複(http://stackoverflow.com/questions/23600385/how-to-determine-trend-of-a-series-of-values -in-R)。這些是一些標準的例子還是作業? – smci
有關如何[如何將data.table分組爲多個列?](https://stackoverflow.com/questions/12478943/r-data-table-group-by-multiple-columns)的部分是使用'by = list(「customer_ID」,「item」)',而不是'by = c(...)' – smci
@smci - 您的解決方案不起作用。錯誤:[.data.table'中的錯誤(數據,列表(N.Minus.1 = .N-1,Change = list(sales [transaction_num +: 'by'或'keyby'列表中的項目是長度(1,1),每個長度必須與x中的行或i(20)返回的行數相同。 – Murali