Новая ошибка выдается с пакетом tm и dtm/wordclouds

с использованием R (3.2.5) и со следующими загруженными пакетами «SnowballC», «tm», «NLP», «RWeka», «RTextTools», «wordcloud», «fpc»

carmenCorpus <- Corpus(VectorSource(feedback$Description))
carmenCorpus <- tm_map(carmenCorpus, PlainTextDocument)
carmenCorpus <- tm_map(carmenCorpus, removePunctuation)
carmenCorpus <- tm_map(carmenCorpus, removeWords, stopwords('english'))
carmenCorpus <- tm_map(carmenCorpus, stemDocument)

Когда я иду, чтобы создать wordcloud, я получаю следующую ошибку. это новая ошибка, когда код запускался несколько месяцев назад, проблем не было:

wordcloud(carmenCorpus, max.words = 100, random.order = FALSE)

# Error in simple_triplet_matrix(i, j, v, nrow = length(terms), ncol = length(corpus),  : 
#  'i, j' invalid

Пожалуйста, проконсультируйте по этому вопросу.


person Martin Perry    schedule 26.07.2017    source источник


Ответы (1)


wordcloud не может просто взять корпус и волшебным образом создать облако слов.

Вы должны проделать тяжелую работу по преобразованию его в TextDocumentMatrix, а затем суммировать частоты слов:

# convert to TDM
tdm <- TermDocumentMatrix(carmenCorpus, control=list(stemming=True))

# calculate word frequencies
freqs = sort(rowSums(as.matrix(tdm)), decreasing=TRUE)

# plot wordcloud
wordcloud(names(freqs), freqs,
    max.words = 100,
    random.order = FALSE,
    # any other params you want to pass into wordcloud
    )
person hongsy    schedule 31.07.2017