Как создать облако слов в R

Прежде всего, нам необходим текст, для которого мы будем создавать облако слов. Сохраняем необходимый нам текст в файлы с расширением .txt и закидываем их в предварительно созданную папку (к примеру d:/text).Файл может быть один, а может быть их и несколько.

После этого запускаем R и подключаем пакеты: • tm – пакет для работы с текстом • wordcloud – пакет  для построения облака слов После этого записываем в переменную reuters все текстовые файлы(txt)

reuters <-Corpus(DirSource("d:/text"))

Далее производим некоторые преобразования с документами, командой tm_map. Сперва удалим лишние пробелы:

reuters <- tm_map(reuters, stripWhitespace)

Сделаем буквы прописными:

reuters <- tm_map(reuters, tolower)

Удаляем служебные слова и пунктуацию:

reuters <- tm_map(reuters, removeWords, stopwords("english"))
crude<- tm_map(reuters, removePunctuation)

Создаем матрицу сводной информации о документах:

tdm <- TermDocumentMatrix(crude)
m <- as.matrix(tdm)

В то время как переменная tdm показывает сводную информацию, переменная m показывает более подробную информацию о документах:

Соединяем в один data.frame информацию о частоте повторяемости слов в документе
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)

С переменной d можно работать как с обычным набором данных, выбирая необходимые строки и столбцы:

Строим облако слов:

wordcloud(d$word,d$freq)

следующей статье мы рассмотрим параметры функции wordcloud и как изменить графику облака слов.  

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>