R语言用tm包执行VCorpus(DataframeSource(txt))报错是什么原因
报错原因说明
这个报错是tm包DataframeSource()函数的输入格式校验失败触发的,可能的诱因有2类:
- 输入数据框
txt的列名不符合要求:DataframeSource()要求传入的数据框必须同时包含doc_id和text两个列,缺少任意一列、列名拼写错误(比如大小写偏差、带多余空格、列名写为content/comment/document_id等非规定名称)都会触发校验失败。 - 输入
txt不是标准数据框格式:如果txt是tibble、data.table等其他类表格结构,即使列名正确也可能出现列名匹配异常的问题。
修复示例
如果你的原始数据框中,员工满意度评论列名为satisfaction_comment,没有单独的文档id字段,可以用如下代码调整格式后再运行:
# 调整数据框列名及格式 txt <- data.frame( doc_id = as.character(1:nrow(txt)), # 用行序号作为文档唯一id text = txt$satisfaction_comment # 替换为你自己的评论文本列名 ) # 重新创建语料库 comments_corpus <- VCorpus(DataframeSource(txt))
内容的提问来源于stack exchange,提问作者Charles
相关产品推荐
相关产品推荐

