Импортируйте несколько текстовых файлов в R и находите частые шаблоны
Я пытаюсь найти частые наборы шаблонов, используя Apriori в R data mining. У меня есть набор текстовых файлов, который содержит только имена. Например:
**name1.txt**
Bob
Alice
**name2.txt**
Alice
Don
**name3.txt**
Bob
Alice
Ben
Используя частый шаблон, результат будет {Bob, Alice}, если min_sup равен 2. Я хотел бы получить это от R.
Я знаю, как импортировать один текстовый файл и использовать eclat
Алгоритм поиска частого набора элементов для одного файла.
fsets <- eclat(Adult, parameter = list(supp = 0.5))
У меня вопрос, как мне импортировать несколько файлов, которые находятся в папке, и использовать его в eclat?
Заранее спасибо!
1 ответ
Решение
Импортируйте файлы в виде списков.
files <- lapply(seq_len(3), function(x) readLines(paste0("name",x,".txt")))
Вычислить количество пересечений
counts <- Reduce(function(cnts, lst) {
for(i in names(tmp <- table(as.character(unlist(lst)))))
cnts[[i]] <- if(i %in% names(cnts)) cnts[[i]] + tmp[[i]]
else tmp[[i]]
cnts
}, files, list())
Найдите те, которые вы хотите.
min_sup <- 2
most_frequent <- names(counts)[as.integer(unlist(counts)) >= min_sup]