在tm包中使用stemCompletion时出错

时间:2014-07-09 17:43:14

标签: tm

我正在学习R中的文本挖掘,并在运行下面转载的代码时 - 我一直收到以下错误:inherits(doc, "TextDocument") is not TRUE

我认识到函数DocumentTermMatrix需要一个文本/字符数据,不知何故,在stemCompletion部分被称为viz的步骤之后。命令

  

myCorpus< - tm_map(myCorpus,stemCompletion,dictionary = dictCorpus)

某处出了问题。

任何帮助将不胜感激。我试图调查其他类似的问题和答案,但我没有找到正确的解决方案。

> library(twitteR) 
> library(tm)

> rdmTweets <- userTimeline("rdatamining", n=100)
> 
> df <- do.call("rbind", lapply(rdmTweets, as.data.frame))

> myCorpus <- Corpus(VectorSource(df$text)) 
> myCorpus <- tm_map(myCorpus, content_transformer(tolower))
> myCorpus <- tm_map(myCorpus, removePunctuation)
> myCorpus <- tm_map(myCorpus, removeNumbers)
> 
> myStopwords <- c(stopwords("english"), "available", "via") 
> idx <- which(myStopwords == "r") 
> myStopwords <- myStopwords[-idx] 
> myCorpus <- tm_map(myCorpus, removeWords, myStopwords)
> 
> dictCorpus <- myCorpus 
> myCorpus <- tm_map(myCorpus, stemDocument)
> myCorpus <- tm_map(myCorpus, stemCompletion, dictionary = dictCorpus)

> DocumentTermMatrix(myCorpus)

> Error: inherits(doc, "TextDocument") is not TRUE

1 个答案:

答案 0 :(得分:0)

这将解决您的问题。

myCorpus <- tm_map(myCorpus, content_transformer(stemCompletion), dictionary = myCorpusCopy, lazy=TRUE)