2013-11-23 48 views
4

我正在做一個數據挖掘程序,使用apriori函數。此功能僅適用於分類數據,不含值但僅包含文本。我的數據集滿足這些要求,因爲我有五個範疇變量,沒有數值但只有文本(所以變量'性別'被分爲'女'和'男')如何將數據分類爲數據清除過程?

如果我現在嘗試apriori()函數,I出現以下錯誤:

apriori(data) 

錯誤asMethod(object)

column(s) 1, 2, 3, 4, 5 not logical or a factor. Use as.factor or categorize first. 

雖然我的數據看起來分類,R沒有得到它。我如何使用例如as.factor函數來正確分類我的數據,以便apriori函數起作用?

+0

我試圖讓每列的因素..也許我應該爲每個變量做這些事情,然後再使用cbind將它們再次嵌入矩陣中? – user3024700

回答

5

您可以將所有列轉換爲一個因素:

data <- sapply(data,as.factor) 
+0

做了你現在提出的建議之後,我得到以下錯誤:t中的錯誤(as(from,「ngCMatrix」)): 在爲函數't'選擇方法時評估參數'x'時出錯:asMethod對象):無法強制'NA'爲「nsparseMatrix」 –

+0

對我來說,它把它變成一個數據框,如數據< - data.frame(sapply(data,as.factor))後工作 – Zbyszek

0

對我來說

data <- data.frame(sapply(data,as.factor)) rules<- apriori(data)

效果很好