无法从R中的数据框中删除特殊字符

时间:2017-03-25 17:14:25

标签: r unicode

我有一段数据框:

1                       137                      411    NA
2             45.7  (13.38)            45.4  (13.15)    NA
3                                                       NA
4   37<U+2007><U+2007>27.0% 135<U+2007><U+2007>32.8%    NA
5  100<U+2007><U+2007>73.0% 276<U+2007><U+2007>67.2%    NA

我想删除一些unicode空格:

adf <- apply(adf, 2, function(x) gsub("<U\\+2007>", "", x))

但这显然是有效的。在控制台中打印有两个空格而不是U2007并在转换后:

adf <- as.data.frame(adf[,colSums(is.na(adf)) < nrow(adf)], stringsAsFactors = F, check.names = F)

这些unicode字符在文本中就像在开头一样。

如何将它们更改为真实空间或摆脱?

我已经检查了类似线程中的一些模式,但这也不起作用:

adf <- apply(adf, 2, function(x) gsub("[<].*[>]", " ", x))

修改

我已经找到了这个问题的解决方案:Remove unicode <+f0b7> from Corpus text

gsub(sprintf("(*UCP)(%s)", paste("\U2007", collapse = "|")), " ", x, perl = TRUE)

这可能适用于更多Unicode字符。我的数据是使用UTF-8编码从网站加载的。我希望上面的陈述适用于更多的灌木丛&#39;在html空间的单词之间生长。

0 个答案:

没有答案
相关问题