我无法使用R中的tm包创建一个术语文档矩阵,当我尝试从预处理的语料库中创建一个时,会抛出以下错误。
Error in UseMethod("TermDocumentMatrix", x) :
no applicable method for 'TermDocumentMatrix' applied to an object of class
"character"
以下是我正在使用的脚本。我使用R v3.4.1和tm包v0.7-1。
data <- readLines("Data/en_US/en_US_sample.txt", n = 100)
data <- Corpus(VectorSource(data))
data <- tm_map(data, removePunctuation)
data <- tm_map(data, removeNumbers)
data <- tm_map(data, content_transformer(tolower))
data <- tm_map(data, removeWords, stopwords("en"))
data <- tm_map(data, stripWhitespace)
words <- TermDocumentMatrix("data")
我相信TermDocumentMatrix要求语料库采用某种指定的文本文档格式,因此我尝试使用tm_map将我的语料库强制转换为PlainTextDocument,但它并没有解决问题。当我在VectorSource上使用Corpus加载我的文本数据时,创建的对象将该类显示为 SimpleCorpus ,这可能是问题,但我不完全确定。
非常感谢任何帮助。谢谢!
答案 0 :(得分:0)
你做的一切都正确,只是在你的最后一行你不小心将"data"
(注意引号)传递给函数TermDocumentMatrix()
而不是对象data
。