我有一个术语文档矩阵。我希望对其进行子集化并仅保留那些出现超过一定次数的项,即行和应大于特定数。有没有快速实现这一目标的方法B.T.W,矩阵很大。
答案 0 :(得分:0)
是的,所以如果你使用的是tm
包,你可以使用一个findFreqTerms函数,你可以在函数里面指定你想要的lowfreq:
tdm # your term document matrix
your_terms <- findFreqTerms(tdm, lowfreq = [...])
如果您有兴趣按照最常用的术语减少tdm:
tdm[your_terms, ]
希望这会有所帮助
答案 1 :(得分:0)
在 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 包中定义的“稀疏度”(相对度量)。