删除显示在所有文档中的DocumentTermMatrix中的术语

时间:2017-03-26 01:40:53

标签: r

我正在使用DocumentTermMatrix,如下所示:

dtm = DocumentTermMatrix(corpus,
                         control = list(
                                        #weighting = weightTfIdf,
                                        stopwords = TRUE, 
                                        wordLengths=c(3, 10),
                                        removePunctuation = T,
                                        removeNumbers = T,
                                        stemming = T))

如何从dtm中删除显示所有文档的条款?

2 个答案:

答案 0 :(得分:2)

没有最小的例子,但这应该有效:

library(slam)
dtm[slam::col_sums(dtm > 0) != nrow(dtm), ]

答案 1 :(得分:0)

我相信接受的答案应该更改为以下内容:

library(slam)
dtm[, slam::col_sums(dtm > 0) != nrow(dtm)]

因为它是'''文档X术语'''。 您最终得到的文档中没有任何术语,请使用以下代码:

dtm[slam::row_sums(dtm > 0) > 0, ]

然后LDA不会给您一个错误,即每个文档的至少一列应具有非零值。