4

我有一个使用 XML 包从 Twitter 搜索创建的 1,500 行向量。然后我将其转换为与 tm 包一起使用的语料库。我想最终用这些词中的一些(最常见的)创建一个词云,所以我将它转换为 TermDocumentMatrix 以便能够找到频率最低的词。我创建了对象“a”,它是这些术语的列表。

a <- findFreqTerms(mydata.dtm, 10)

wordcloud 包不适用于文档矩阵。所以现在,我想过滤原始向量以仅包含“a”对象中包含的单词(如果我使用对象本身,当然,每个常用词我只有一个实例)。

非常感谢任何建议。

4

1 回答 1

6

您可以将 tdm 对象转换为矩阵并使用它来获得wordcloud可以使用的东西:

library(tm)
library(wordcloud)
# example data from the tm package
data(crude)
tdm <- TermDocumentMatrix(crude,
                      control = list(removePunctuation = TRUE,
                                     stopwords = TRUE))
v <- rowSums(as.matrix(tdm))
names(v) <- rownames(as.matrix(tdm))
v <- sort(v, decreasing=T)

现在,您可以使用标准子集 ( ) 过滤掉不常用的单词[,或者您可以在要绘制时使用min.freq参数:wordcloud

wordcloud(names(v), v, min.freq=10, scale=c(10,.3))

词云

于 2013-03-19T15:35:22.060 回答