0

我对使用该tm软件包时遇到的一些错误有点不清楚。

我知道包中的wordcloud函数wordcloud将语料库作为参数:

如文档中所述:( 您给函数的词)可以是字符向量,也可以是 Corpus

到目前为止,一切都很好。

考虑到这一点,我有一些简单的代码如下:

library(tm)
library(wordcloud)

corpus  <-Corpus(DirSource("/.../MUSIC"), readerControl = list(language="lat")) readerControl = list(language="lat"))

a <- tm_map(corpus, removeWords, c(stopwords("en")), mc.cores=1) 

我希望下一行给我一个 wordcloud:

wordcloud(a)

但相反,我收到以下错误:

Error in simple_triplet_matrix(i = i, j = j, v = as.numeric(v),  
nrow = length(allTerms),  :  'i, j, v' different lengths  

我不确定为什么语料库的尺寸不正确。我的印象是语料库是可以接受的输入。

有没有人对这两个错误的性质有任何见解,谁以前见过这个,也许对各种解决方法有一些想法?

提前致谢。

4

1 回答 1

0

你必须DocumentTermMatrix从语料库创建一个。尝试这个,

tdm <- TermDocumentMatrix(corpus)  
matrix <- as.matrix(tdm)  # changed to term.matrix
v <- sort(rowSums(matrix),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
wordcloud(d$word)

结果: 这是结果

于 2015-04-23T09:09:42.670 回答