【问题标题】:Creating a subset of words from a corpus in R从 R 中的语料库创建单词的子集
【发布时间】:2013-03-19 23:35:22
【问题描述】:

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

a <- findFreqTerms(mydata.dtm, 10)

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

非常感谢任何建议。

【问题讨论】:

  • 嗨,欢迎来到 SP。您能否粘贴您的数据样本。可以使用dput(myData),如果太大可以使用dput(head(myData, 10))

标签: r corpus word-cloud


【解决方案1】:

您可以将您的 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))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    • 2013-05-14
    相关资源
    最近更新 更多