我有一个使用XML包从Twitter搜索创建的1,500行向量。然后我将它转换为语料库以与tm包一起使用。我想最终用这些单词的一些(最常见的)创建一个wordcloud,所以我将它转换为TermDocumentMatrix,以便能够找到具有最小频率的术语。我创建了对象“a”,这是这些术语的列表。
a <- findFreqTerms(mydata.dtm, 10)
wordcloud包不适用于文档矩阵。所以现在,我想过滤原始向量,只包括“a”对象中包含的单词(如果我使用对象本身,当然,我只有每个常用单词的一个实例)。
非常感谢任何建议。
答案 0 :(得分: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))