2013-07-23 3 views
1

Мне нужно найти транзакции, соответствующие некоторым правилам. Следующий код, используемый для работы, но теперь R распознает %in% из базового пакета вместо arules.Соответствие транзакции с% in% in arules package R

matchRules=function(rules,transactions){ 
    id.match=which(transactions %in% rules) 
    matchedTrx=transactions[id.match] 
    summary(matchedTrx) 

    return(matchedTrx) 
} 

Я пробовал arules::%in%, но это не сработало.

Если я использую:

id.match=which(transactions arules::%in% rules) 

Я получаю ошибку:

unexpected symbol in "id.match=which(transactions arules" 

Спасибо за вашу помощь.

+0

возможно [это] (http://stats.stackexchange.com/questions/21340/find-appro-rules-for-new-data-using-arules) ответ от перекрестного подтверждения может помочь вам найти соответствующие правила. – haki

+0

Так что просто 'library (arules)' ...? –

+0

arules уже загружен – Dalpozz

ответ

0

Попробуйте это:

which(arules::'%in%'(transactions,rules)) 
+0

Ошибка в которой (arules :: "% in%" (транзакции, правила)): ошибка при оценке аргумента 'x' при выборе метода для функции 'which': Ошибка в матче (x, table, nomatch = 0): 'match' требует векторных аргументов – Dalpozz

2

Попробуйте вместо% в%, я надеюсь, что это помогает

library(arules)  
st <- supportingTransactions(rules, transactions) 
Transaction_IDs <- as(st,"list")