2016-06-18 5 views
-7
require(arules) 
Groceries <- read.transactions("C:/Users/IBM_ADMIN/Desktopgroceries.csv",sep=",") 

m1 <- apriori(Groceries,parameter=list(support=0.007,confidence=0.25,minlen=2)) 

subset.matrix <- is.subset(m1, m1) 

라인의 조각이 다음과 같은 오류 메시지를 생성R에서 is.subset가 작동하지 않습니까?</p> <pre><code>Error in match(x, table, nomatch = 0L) : 'match' requires vector arguments </code></pre> <p>날 도와 마십시오 :

작동하지 않습니다 #이.

+3

당신의 질문에 [재현 가능한 예]가 포함되어 있지 않습니다 (http://stackoverflow.com/q/5963269/4303162). 따라서 귀하의 문제를 이해하고 귀하에게 적절한 답변을 제공하기가 어렵습니다. 데이터를 (예 :'dput() '을 사용하여) 사용 가능하게하거나 R의 예제 데이터 세트 중 하나를 사용하십시오. 또한 문제를 재현하는 데 필요한 최소한의 코드를 게시물에 추가하십시오. – Stibu

답변

0

apriori 반환 규칙은하지 벡터, 개체 :

data("Adult") 
## Mine association rules. 
rules <- apriori(Adult, 
    parameter = list(supp = 0.5, conf = 0.9, target = "rules")) 
class(rules) 
# [1] "rules" 

당신이 data.frame이 객체를 변환해야합니다 규칙의 목록, 예를 들어 비교하려는 경우 :

rules.df <- as(rules, "data.frame") 
is.subset(rules.df$rules, rules.df$rules) 
+0

한 가지 가능성은 그 방법이 다른 패키지에 숨겨져 있다는 것입니다 .. – Bulat

+0

답장을 보내 주셔서 감사합니다, Bulat. 내 쿼리가 해결되었습니다. 하지만 다른 쿼리가 있습니다. 다음 코드 조각이 작동하지 않습니다. subset.matrix <- is.subset (rules.df $ rules, rules.df $ rules) subset.matrix [lower.tri (subset.matrix, diag = T)] <- NA 중복 = 1 –

+0

당신이 사용중인'is.subset' 함수를 찾아야합니다. – Bulat