尝试将csv文档导入R并尝试开发用于主题建模的语料库时,我一直收到此错误。我已经在其他4个项目上成功使用了这种方法,但是无法克服此错误。 我的数据源有一个doc_id列和一个text列。错误是 错误:
all(!is.na(match(c(“ doc_id”,“ text”),names(x))))不是TRUE
我尝试使用许多不同的建议进行导入,例如 Error faced while using TM package's VCorpus in R
file_loc <- "C:\\Users\\mdlawrence\\Desktop\\Test2.csv "
x <- read.csv(file_loc, header = TRUE, stringsAsFactors = F)
require(tm)
Loading required package: tm
Loading required package: NLP
corp <- Corpus(DataframeSource(x))
错误:all(!is.na(match(c(“ doc_id”,“ text”),names(x))))不正确
docs <- DocumentTermMatrix(corp)
TermDocumentMatrix(x,控件)中的错误:找不到对象“ corp”
我希望在.csv文件中看到每行一个文档的语料库。任何建议都将不胜感激。
答案 0 :(得分:0)
这与您的列名称有关。您提供的dput
也会显示(X.doc_id
)和(X.text
)。因此,运行以下命令会产生与您遇到的相同的错误。
x <- structure(list(X.doc_id. = c("1A", "2A"),
X.text. = c("I think a conversation needs to be had to bring all employee groups up to the same … 0 feet" )),
.Names = c("X.doc_id.", "X.text."), class = "data.frame", row.names = c(NA, -10L))
library(tm)
VCorpus(DataframeSource(x))
inherits(x,“ Source”)中的错误:all(!is.na(match(c(“ doc_id”, “ text”),names(x))))不正确
运行以下命令可获得您想要的正确结果。
colnames(x) <- c("doc_id", "text")
library(tm)
Y <- VCorpus(DataframeSource(x))
Y
<>元数据:特定于语料库:0,文档级别(索引):0 内容:文件:10
运行:
content(Y)
content(Y[[1]])
礼物:
content(Y [[1]])[1]“我认为必须进行对话才能使所有员工组都达到相同的……0英尺”
创建documenttermmatrix
:
dtm <- DocumentTermMatrix(Y)
dtm
<>非/稀疏条目: 11/99稀疏度:90%最大期限:12权重
:词频(tf)
在代码或加载数据的某些地方,您可能具有重复的列名,并且读取数据会自动创建一个X.doc_id
列,以防止重复的列名。