Импортируйте несколько текстовых файлов в 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]
Другие вопросы по тегам