R中的文本列中出现奇怪的字符

时间:2014-06-12 00:01:01

标签: r

我正在从R中的Excel传输CSV文件。我的一个列包含每个观察的文本,但最终以下列方式显示:

"Hey! \x8c\xe6 Maybe I can give some suggestions: \x8c\xe6" 

\x8c\xe6发生了什么?无论如何,我可以做一些事情,以便我只有A-Z,a-z,以及.,+/\?*()等字符。

2 个答案:

答案 0 :(得分:3)

如何使用gsub

删除所有不可打印的字符
a <- "Hey! \x8c\xe6 Maybe I can give some suggestions: \x8c\xe6"
gsub("[^[:print:]]","",a)

# [1] "Hey!  Maybe I can give some suggestions: "

[:print:]帮助页面上定义了?regex课程和其他课程。

答案 1 :(得分:1)

这是一个编码错误,我在R中得到了很多(请参阅此encoding table以了解翻译问题)。我做了这个非常低效的事情,我会使用&#39; gsub&#39;对于我能看到的错误,只需删除它们:

gsub('\\x8c\\xe6', '', data)

但是,这篇文章可能有助于检测正确的编码:How to detect the right encoding for read.csv?