升级quanteda新版本后,如何使corpus对象保留doc_id字段?
解决quanteda新版本中corpus丢失doc_id的问题
我最近也碰到过这个情况,quanteda更新后调整了corpus()处理数据框的默认逻辑,不过有两种简单方法能帮你重新保留doc_id:
方法一:指定
docid_field参数
直接在创建corpus时,用docid_field参数明确告诉quanteda要使用df里的doc_id列作为文档标识:corpus <- corpus(df, docid_field = "doc_id")这个参数是新版本quanteda专门用来指定文档ID列的,设置后corpus对象的文档ID会和你原数据里的doc_id完全一致。
方法二:将doc_id设为数据框行名
如果你习惯旧版本的操作逻辑,也可以先把df的行名替换成doc_id,再创建corpus:rownames(df) <- df$doc_id corpus <- corpus(df)这时quanteda会自动把数据框的行名当作文档ID,同样能保留住原来的doc_id信息。
你可以用docnames(corpus)命令验证一下,输出结果应该就是你原本的txt文档名称啦。
内容的提问来源于stack exchange,提问作者Sebastian Vogl
相关产品推荐
相关产品推荐

