我正处于构建/测试我自己定义的字典的早期阶段。我正在用一组美国各州政党平台(30个文本文件的语料库)对它进行测试。我已经成功地创建了字典,并使用Quanteda提供汇总统计数据,但它似乎一次只能为6个文件做这件事,我的计划是在几十年前的数百个文件上使用字典。是否有办法一次显示6个以上的文档?
下面是我用来生成6个文件的数据帧和错误消息的代码:corp_platform <- corpus(corp)
toks_platform <- tokens(corp_platform)
dict_toks <- tokens_lookup(toks_platform, dictionary = dict)
print(dict_toks)
dfm(dict_toks)
Document-feature matrix of: 30 documents, 2 features (1.67% sparse) and 2 docvars.
commmunitarian individualist
akdem20.txt 113 20
azdem20.txt 60 13
cadem20.txt 254 98
medem20.txt 27 7
mndfl20.txt 40 18
ncdem20.txt 235 64
[ reached max_ndoc ... 24 more documents ]
核心对象(如dfm对象)的打印方法默认情况下只打印指定数量的行。这就是您在这里看到的内容,以及为什么它声明:
Document-feature matrix of: 30 documents
[...]
.. 24 more documents ]
它告诉你所有30个文档都在那里。
这些都有文档说明。参见help("print-methods", package = "quanteda")
。如果需要汇总统计信息,请尝试quanteda.textstats::textstat_frequency()
。或者,如果您希望dfm作为数据帧,请使用convert(dfm(dict_toks), to = "data.frame")
。
非常感谢。我只是需要一种方式来显示输出,并不能找到一个例子,所以这是非常有帮助的。我改变了我以前使用的代码:
'corp_platform <- corpus(corp)
toks_platform <- quanteda::tokens(corp_platform)
dict_toks <- tokens_lookup(toks_platform, dictionary = dict)
print(dict_toks)
dfm(dict_toks)
convert(dfm(dict_toks), to = "data.frame")'
,输出为:
'doc_ id commmunitarian individualist
1 akdem20.txt 113 20
2 azdem20.txt 60 13
3 cadem20.txt 254 98
4 medem20.txt 27 7
5 mndfl20.txt 40 18
.........................................
25 tx2022draft.txt 198 156
26 txgop20.txt 181 153
27 wagop20.txt 52 63
28 wigop20.txt 27 11
29 wvgop20.txt 72 47
30 wygop20.txt 22 21'