如何使用 R 计算文档 collection/corpus 中出现频率最高的 terms/words?

How to calculate most frequent occurring terms/words in a document collection/corpus using R?

首先,我创建了一个文档术语矩阵,如下所示

dtm <- DocumentTermMatrix(docs)

然后我把每个词向量出现的总和如下

totalsums <- colSums(as.matrix(dtm))

前 7 个元素的总和(R 表示类型 'double')如下所示。

aaab   aabb    aabc   aacc   abbb   abbc    abcc    ...
   9      2      10      4      7      3      12    ...   

我设法使用以下命令对其进行了排序

sorted.sums <- sort(totalsums, decreasing=T)

现在我想提取总和大于值 5 的前 4 个 terms/words。 我可以使用 sorted.sums[1:4] 获得前 4 个最高值,但我如何设置阈值?

我设法使用如下所示的 order 函数做到了这一点,但是除了排序函数或不使用 findFreqTerms 函数之外,还有其他方法可以做到这一点吗?

ord.totalsums <- order(totalsums)
findFreqTerms(dtm, lowfreq=5)

感谢您对此的看法。

您可以使用

sorted.sums[sorted.sums > 5][1:4]

但是如果您有至少 4 个大于 5 的值,则仅使用 sorted.sums[1:4] 也应该有效。

要获取单词,您可以使用 names

names(sorted.sums[sorted.sums > 5][1:4])