问题描述
我的数据 mycorpus
位于 quanteda 语料库(来自 quanteda 的 corpus
函数)中,我需要将其转换为 tm 包下的语料库。我知道 quanteda 的 convert
函数。但是,这只会将 doc-feature-matrix 转换为 tm。有我缺少的快速修复吗? tm 的 VCorpus(mycorpus)
抛出错误消息“缺少源代码”
解决方法
您可以直接从包含在 VCorpus 中的 VectorSource 构建 tm 语料库/VCorpus,因为 quanteda 语料库只是一个特殊的字符向量。
library("tm")
## Loading required package: NLP
# from version 3.0 of quanteda
data(data_corpus_inaugural,package = "quanteda")
VCorpus(VectorSource(data_corpus_inaugural))
## <<VCorpus>>
## Metadata: corpus specific: 0,document level (indexed): 0
## Content: documents: 59
然而……你真的想要/需要这样做吗?
,如果您有 dfm,则可以使用 tm 包中的 as.DocumentTermMatrix
函数。
如果您有一个名为 my_dfm 的 dfm,您可以使用下面的代码行。您需要为 dtm 的权重提供一个选项,但来自 quanteda 它只是 weightTf
my_dtm <- as.DocumentTermMatrix(my_dfm,weighting = weightTf)