这是我在我的语料库上做的事情-
CorpusX = tm_map(CorpusX, content_transformer(tolower))
CorpusX = tm_map(CorpusX, removeWords, c("X", stopwords("english")))
CorpusX = tm_map(CorpusX, removePunctuation)
CorpusX = tm_map(CorpusX, stripWhitespace)
CorpusX = tm_map(CorpusX, removeNumbers)
CorpusX = tm_map(CorpusX, stemDocument)
CorpusX = tm_map(CorpusX, PlainTextDocument)在这之后,我做了一个文档-术语矩阵,然后是word-cloud。如果我遵循这个流程,并且不尝试删除问题中提到的那些字符,那么一切都很正常。但是当我尝试删除这些字符时,我得到的错误如下-
>Error in UseMethod("TermDocumentMatrix", x) : no applicable method
> for 'TermDocumentMatrix' applied to an object of class
> "c('DocumentTermMatrix', 'simple_triplet_matrix')"我正在寻找一种有效的方法来处理这样的字符。
PS-我完全改变了问题的描述,因为人们被弄糊涂了(我的错)。谢谢你的帮助!
发布于 2016-05-20 04:56:39
在处理文本时,您是否使用了删除任何非英文字符?
如果你没有,这里有一个如何做到这一点的例子。这里我们删除了数字、拼写和非英文字符。
removeNumPunct <- function(x) gsub("[^[:alpha:][:space:]]*","",x)
myCorpus <- tm_map(myCorpus, content_transformer(removeNumPunct), lazy = TRUE)发布于 2016-05-20 00:16:03
@Frank似乎说对了一些事情,即您似乎正在使用一个用于TermDocumentMatrix类而不是DocumentTermMatrix类的对象的函数。tm包具有将文本语料库转换为TermDocumentMatrix和DocumentTermMatrix的功能。
来回答你的问题,R is generally not great at handling Unicode。我经常转到Python来解决这些问题,但链接似乎有一些解决方案。
https://stackoverflow.com/questions/37328244
复制相似问题