如何在删除R中的标点符号和数字文本挖掘后在2个单词之间给出空格

时间:2014-08-03 14:33:29

标签: regex r gsub tm

我们可以看到在删除数字3054和标点符号后的下面示例中 - 在给定字符串"BG3054-suhas B-DC chr 23.7-22.8.13"中,输出将合并为bgsuhas但我需要在这两个单词之间留出一个空格{{1 }}。同样的事情你可以在下面给出字符串bg suhas。你能帮助我把这些词之间的空间用于文本挖掘。

我需要这样的 bdc, bbxsh作为输出矩阵

bg suhas b dc chr rashmi

2 个答案:

答案 0 :(得分:3)

我只是使用gsub替换任何不是带空格的a-z字母作为预处理步骤:

Newcol <- gsub("[^a-zA-Z]+", " ", Newcol)
Newcol
# [1] "BG suhas B DC chr " "BBXSH Rashmi S to "

然后,您的tm代码应该可以正常处理Newcol

答案 1 :(得分:2)

定义您自己的内容转换器:

replacePunctuation <- content_transformer(function(x) {return (gsub("[[:punct:]]"," ", x))})

然后使用它:

text.corp <- tm_map(text.corp, replacePunctuation )