将语料库从 quanteda 转换为 tm

问题描述

我的数据 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)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...