找到了TMCom包的removeCommonTerms函数here,以便
removeCommonTerms <- function (x, pct)
{
stopifnot(inherits(x, c("DocumentTermMatrix", "TermDocumentMatrix")),
is.numeric(pct), pct > 0, pct < 1)
m <- if (inherits(x, "DocumentTermMatrix"))
t(x)
else x
t <- table(m$i) < m$ncol * (pct)
termIndex <- as.numeric(names(t[t]))
if (inherits(x, "DocumentTermMatrix"))
x[, termIndex]
else x[termIndex, ]
}
现在我想删除Quanteda包中过于常见的术语。我可以在创建文档特征矩阵或文档特征矩阵之前执行此删除操作。
如何使用R中的Quanteda包删除过于常见的术语?
答案 0 :(得分:2)
您需要dfm_trim
功能。来自?dfm_trim
max_docfreq
显示功能的文档的最大数量或分数,超出该功能将删除功能。 (默认为无上限。)
这需要最新版本的 quanteda (在CRAN上新鲜)。
packageVersion("quanteda")
## [1] ‘0.9.9.3’
inaugdfm <- dfm(data_corpus_inaugural)
dfm_trim(inaugdfm, max_docfreq = .8)
## Removing features occurring:
## - in more than 0.8 * 57 = 45.6 documents: 93
## Total features removed: 93 (1.01%).
## Document-feature matrix of: 57 documents, 9,081 features (92.4% sparse).