r-如何从dfm中删除稀有术语



我使用quanteda包中的tokens((创建了一个dfm。(尺寸约为40*2000(我现在想删除出现在少于15%的文档中的所有令牌。我在R方面没有真正的经验,我不知道如何继续。有没有办法利用textstat_frequency((中的docfreq变量,或者我必须使用tokens_select((和一行If((语句?

是的,您需要dfm_trim(),它允许您根据文档数或文档比例指定文档频率阈值。

(注意:一旦进入dfm,单词维度元素就不再是标记,而是quanteda术语中的"特征"。(

使用内置示例,下面的代码显示了如何使用最小文档频率阈值为0.15、文档频率类型为"prop"的dfm_trim(),该类型将您提供的阈值视为一个比例。从特征数量的变化中可以看出,已经进行了显著的修剪。

library("quanteda")
## Package version: 2.0.1
dfmat <- dfm(data_corpus_inaugural)
print(dfmat, max_ndoc = 0, max_nfeat = 0)
## Document-feature matrix of: 58 documents, 9,360 features (91.8% sparse) and 4 docvars.
dfm_trim(dfmat, min_docfreq = 0.15, docfreq_type = "prop") %>%
print(max_ndoc = 0, max_nfeat = 0)
## Document-feature matrix of: 58 documents, 1,304 features (65.3% sparse) and 4 docvars.

最新更新