删除文本语料库中的字符

时间:2014-05-28 08:21:39

标签: regex r text-mining tm

我正在分析一组电子邮件。有些电子邮件包含网址。当我从 tm 库中应用removePunctuation函数时,我得到httpwww,然后我丢失了网址信息。我想做的是在所有语料库中用"://"替换" "。我尝试gsub,但后来我的语料库数据类型发生了变化,我无法继续使用 tm 包来处理它。

以下是一个例子:

如您所见,gsub将语料库的类更改为一个字符数组,导致tm_map失败。

> corpus
# A corpus with 4257 text documents
> corpus1 <- gsub("http://","http ",corpus)
> class(corpus1)
# [1] "character"
> class(corpus)
# [1] "VCorpus" "Corpus"  "list"   
> cleanSW <- tm_map(corpus1,removeWords, stopwords("english"))
# Error in UseMethod("tm_map", x) : 
# no applicable method for 'tm_map' applied to an object of class "character"
> cleanSW <- tm_map(corpus,removeWords, stopwords("english"))
> cleanSW
# A corpus with 4257 text documents

我该如何绕过它?也许有办法将它从字符数组转换回语料库?

1 个答案:

答案 0 :(得分:2)

在这里找到了解决这个问题的方法:Removing non-English text from Corpus in R using tm(),Corpus(VectorSource(dat1))为我工作。