首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >quanteda中的对象类更改::

quanteda中的对象类更改::
EN

Stack Overflow用户
提问于 2021-01-12 23:50:31
回答 1查看 42关注 0票数 0

我在运行我几周前写的脚本时遇到了问题,它当时运行时没有错误。脚本将读取数千个文件并从中创建一个语料库。但是现在,我不知道为什么,相同的代码在脚本开始时返回一个不同的对象类,结果是代码中断的以下部分。

我想读的文件是国际条约。以前,当我应用quanteda::corpus时,它返回全局环境中"Data“下的S3语料库列表对象。但是现在,当我应用这个函数时,我得到了“值”下的语料库类字符对象。

下面是代码中的一个示例,目的是只阅读一份条约来说明这个问题:

代码语言:javascript
运行
复制
> #This is the link to the file to be read: 
> [https://investmentpolicy.unctad.org/international-investment-agreements/treaty-files/5908/download][1]

> mar_jp_txt<- readtext("/Desktop/mar_jp.pdf")
> corpus_txt_mjp <- corpus(mar_jp_txt) %>%
  corpus_reshape(to = "sentences")

> class(corpus_txt_mjp)
[1] "corpus"    "character"

但是,我有一个先前保存的工作区映像,在那里我也有corpus_txt_mjp对象。当我检查它的类时,它是不同的:

代码语言:javascript
运行
复制
> class(corpus_txt_mjp)
[1] "corpus" "list"  

考虑到我在去年10月开始了这个项目,从那时起我应该使用相同版本的quanteda。然而,即使我在脚本中没有什么改变,我现在得到了一个不同的结果。当时,我在小样本上运行脚本,以查看它是否有效。现在,当我尝试在整个示例上运行它时,我就会遇到这个问题。这样做的原因是什么,谁能给我一个解决方案?

非常感谢!

编辑

我想我意识到了这个问题。我不知道为什么和如何,但上个月我使用了一个更老版本的quanteda。当我安装最近的版本时,代码停止工作。因此,在本例中,我要么安装旧版本,要么根据新版本更改脚本。

EN

回答 1

Stack Overflow用户

发布于 2021-01-13 00:28:34

在v2.0中,语料库对象的结构已经从一个列表变成了字符向量。但是,您可以运行as.corpus(corpus_txt_mjp)来升级对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65693727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档