UseMethod(“TermDocumentMatrix”,x)中的错误:没有适用于“TermDocumentMatrix”的方法应用于类“character”的对象

时间:2017-10-30 16:15:00

标签: r

  

UseMethod(“TermDocumentMatrix”,x)中的错误:没有适用的方法   'TermDocumentMatrix'应用于类“character”的对象

代码:

install.packages('tm')
install.packages('wordcloud')   
install.packages('SnowballC')   
install.packages('topicmodels') 


#######################
library(tm) 
library(wordcloud)
library(SnowballC)
library(topicmodels)
########################

##########################
obama<- paste(readLines("I:/PB 2/Pb 2/tweets_obama.txt"),   collapse="  ")
obamacorpus<-Corpus(VectorSource(obama))
obamacorpus <-  tm_map(obamacorpus, removePunctuation)  
obamacorpus <-  tm_map(obamacorpus, removeNumbers)  
obamacorpus <-  tm_map(obamacorpus, stripWhitespace)    
obamacorpus <-  tm_map(obamacorpus, content_transformer(tolower))
obamacorpus <- gsub('http\\s+\\s*' , '',obamacorpus)
obamacorpus <- gsub('#\\s+' , '',obamacorpus)
obamacorpus <- gsub('@\\s+' , '',obamacorpus)
obamatdm    <-  TermDocumentMatrix(obamacorpus)

运行最后一行后,我收到上述错误。每当我不运行gsub代码时,就不会发生错误。 有人可以帮我解决这个错误吗?

1 个答案:

答案 0 :(得分:1)

在语料库上应用gsub将返回chr

如果您想为TermDocumentMatrix保留语料库,请使用content_transformer

obamacorpus <- tm_map(obamacorpus, content_transformer(function(x) gsub('http\\s+\\s*','',x))