[英]How to filter term document matrix based on frequency of occurrence of each term
我有一个术语文档矩阵。 我希望将其子集化并仅保留那些出现超过一定次数的术语,即行总和应大于特定数量。 有没有快速实现这一目标的方法 顺便说一句,矩阵是巨大的。
是的,所以万一你使用的是tm
包,你可以使用一个findFreqTerms函数,你可以在函数里面指定你想要的lowfreq:
tdm # your term document matrix
your_terms <- findFreqTerms(tdm, lowfreq = [...])
如果您有兴趣通过最常用的术语减少tdm,您可以这样做:
tdm[your_terms, ]
希望这可以帮助
在quanteda包中:
require(quanteda)
myDfm <- dfm(data_char_ukimmig2010, remove_punct = TRUE)
myDfm
## Document-feature matrix of: 9 documents, 1,644 features (81.9% sparse).
# remove infrequent terms
dfm_trim(myDfm, min_count = 10, verbose = TRUE)
## Removing features occurring:
## - fewer than 10 times: 1,567
## Total features removed: 1,567 (95.3%).
## Document-feature matrix of: 9 documents, 77 features (32.5% sparse).
存在用于基于文档频率移除特征的其他选项,以及在tm包中定义的“稀疏性”(相对度量)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.