r按文档类型删除稀疏术语

时间:2015-09-30 15:43:49

标签: r tm

我是语料库的新手,我有一个大型语料库,其中有4种类型的文档。我想删除类型中的稀疏术语。我不能只创建分离的语料库,因为它们之前有很多转换,使用一些帖子我创建了一个TermDocumentMatrix,每个列中都有类型的名称,但我找不到按类型删除稀疏术语的方法。 任何的想法?谢谢你!

例如,我删除了所有语料库的稀疏术语

TDM_1 <- removeSparseTerms(TDM, 0.98) 
inspect(TDM_1) <<TermDocumentMatrix (terms: 27, documents: 2583)>> 
Non-    /sparse entries: 3591/66150 Sparsity : 95% Maximal term length: 12  Weighting : term frequency (tf) 

TDM_1$dimnames (Types of documents to remove sparse terms)

编辑: 谢谢你们,我意识到我的语料库是错误的。我更改了变换器函数并按类型创建了一个TermDocumentMatrix。但是现在我有另一个问题要删除稀疏术语。假设我的TDM是tdm_1,tdm_2。

library(tm)
library(Rstem)

data(crude)

spl <- runif(length(crude)) < 0.7
crude_1 <- crude[spl]
crude_2 <- crude[!spl]

controls <- list(
  tolower = TRUE,
  removePunctuation = TRUE,
  stopwords = stopwords("english"),
  stemming = function(word) wordStem(word, language = "english")
)

tdm_1 <- TermDocumentMatrix(crude_1, controls)
tdm_2 <- TermDocumentMatrix(crude_2, controls)

## Don´t work.

for(i in 1:2){
  assign(paste0("TDM_", i), 
     removeSparseTerms(paste0('tdm_', i), 0.98)
}

## But this is ok.

removeSparseTerms(tdm_1, 0.98)

再次感谢!

0 个答案:

没有答案