Преобразовать правило в формате строки в arules в R - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть пара правил Apriori в строковом формате: (A, B) => (C), поддержка = 0,1, уверенность = 0,0

Можно ли преобразовать их в тот же формат, который возвращается функцией apriori в библиотеке arulesViz, т. Е. A> объект правил?

Формат имеет этот аспект:

   lhs                rhs         support     confidence  

[1] {A B} => {C} 0,1 0,0

PS: я не могу напрямую использовать функцию apriori из R, поскольку я использую ее модифицированную версию.

Спасибо Ричард

1 Ответ

0 голосов
/ 12 сентября 2018

Если они всегда имеют одинаковый формат, то должно работать следующее:

a <- rep('(A,B) => (C) ,Support=0.1 ,Confidence=0.0',6)

b  <- matrix(unlist(strsplit(a,' ,')),ncol=3,byrow=TRUE)

b[,1] <- gsub('[(]','{',b[,1])
b[,1] <- gsub('[)]','}',b[,1])
b[,1] <- gsub(',',' ',b[,1])
b[,2:3] <- gsub('^.*=','',b[,2:3])
paste(b[,1],b[,2],b[,3])

Я не могу придумать какого-либо краткого способа сделать это, кроме как разбить строки и разобраться с подстроками.

...