首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从R中的文本中删除像002这样的疯狂字符?

如何从R中的文本中删除像002这样的疯狂字符?
EN

Stack Overflow用户
提问于 2016-05-19 23:48:14
回答 2查看 955关注 0票数 0

这是我在我的语料库上做的事情-

代码语言:javascript
复制
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。如果我遵循这个流程,并且不尝试删除问题中提到的那些字符,那么一切都很正常。但是当我尝试删除这些字符时,我得到的错误如下-

代码语言:javascript
复制
>Error in UseMethod("TermDocumentMatrix", x) :    no applicable method
> for 'TermDocumentMatrix' applied to an object of class
> "c('DocumentTermMatrix', 'simple_triplet_matrix')"

我正在寻找一种有效的方法来处理这样的字符。

PS-我完全改变了问题的描述,因为人们被弄糊涂了(我的错)。谢谢你的帮助!

EN

回答 2

Stack Overflow用户

发布于 2016-05-20 04:56:39

在处理文本时,您是否使用了删除任何非英文字符?

如果你没有,这里有一个如何做到这一点的例子。这里我们删除了数字、拼写和非英文字符。

代码语言:javascript
复制
removeNumPunct <- function(x) gsub("[^[:alpha:][:space:]]*","",x)
myCorpus <- tm_map(myCorpus, content_transformer(removeNumPunct), lazy = TRUE)
票数 1
EN

Stack Overflow用户

发布于 2016-05-20 00:16:03

@Frank似乎说对了一些事情,即您似乎正在使用一个用于TermDocumentMatrix类而不是DocumentTermMatrix类的对象的函数。tm包具有将文本语料库转换为TermDocumentMatrixDocumentTermMatrix的功能。

来回答你的问题,R is generally not great at handling Unicode。我经常转到Python来解决这些问题,但链接似乎有一些解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37328244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档