2016-10-30 18 views
0

如何在CSV文件上使用ARules包?

Timestamp,Col1,Col2,Col3,Col4,Col5 
2/11/2016 22:59:24,1,1,1,0,0 
2/12/2016 14:43:01,0,0,0,0,0 
2/12/2016 15:19:37,1,1,1,1,0 
2/13/2016 17:33:38,1,1,1,0,1 
2/14/2016 15:59:31,1,1,1,1,0 

我已經R.

進口將此作爲一個數據對象下面的例子中的數據我想使用arules庫來分析這一點。

但到目前爲止,我只能夠執行以下代碼:

require(arules) 
data(package="arules") 
data(Groceries) 
Groceries 
summary(Groceries) 
itemFrequencyPlot(Groceries,topN=20,type="absolute") 
rules <- apriori(Groceries, parameter = list(supp = 0.0001, conf = 0.8)) 

我不明白爲什麼功能不我的數據對象上工作。

我的問題

一些能解釋我如何能得到這些功能在我的CSV數據工作嗎?我認爲這只是使用正確的功能正確格式化的問題,但我不知道如何做到這一點。

+0

做您的數據轉換成'transactions'?例如與'read.transactoins',請參閱http://stackoverflow.com/questions/17313450/how-to-convert-data-frame-to-transactions-for-arules – Bulat

+0

我試圖做到這一點。 'trans = read.transactions(MyData,format =「basket」)'但這不起作用。我確定我正在實施它錯誤。 –

回答

1

你可以做

MyData <- read.csv(text="Timestamp,Col1,Col2,Col3,Col4,Col5 
2/11/2016 22:59:24,1,1,1,0,0 
2/12/2016 14:43:01,0,0,0,0,0 
2/12/2016 15:19:37,1,1,1,1,0 
2/13/2016 17:33:38,1,1,1,0,1 
2/14/2016 15:59:31,1,1,1,1,0") 
require(arules) 
trans <- as(MyData[,-1]>0, "transactions") 
rules <- apriori(trans, parameter = list(supp = 0.0001, conf = 0.8)) 
+0

謝謝,這幫了一大筆錢! –