2017-05-30 30 views
0

我有一个数据框,我需要在R Studio中进行可视化,并且对于两列信息(显示起点和终点的名称)的某些字符是这样的:需要替换数据帧中的字符

St.P<U+00BA>lten 

这里面有不同的话就像

W<U+00BA>rgl, V<U+00BA>cklabruck 

发生这种情况只有在数据帧的这两列,

如何删除这些信件,或更换?我觉得这需要搜索那些特定字符串

<U+00BA> 

在两列,取代他们只要找到他们,你能跟大家知道的一些代码,这将有助于我实现这一目标?

谢谢!

+2

我不是很清楚你在问什么。你能否提供一个现在的样子,以及你希望如何改变它的例子? – svenhalvorson

+0

已编辑以显示问题,这在您的计算机上看起来像一个unicode编码问题。 – neilfws

+1

'x < - gsub(“”,“”,x)'? –

回答

0

如果我把在为你的字符串字面内容的讨论的文字,我可以通过把它们放回Unicode字符:

library(stringr) 
x = c("W<U+00BA>rgl", "V<U+00BA>cklabruck") 
unicode_chars = str_match(x, "<U\\+([a-zA-Z0-9]+)>") 
str_replace(x, "<U\\+[a-zA-Z0-9]+>", paste0("\\u", unicode_chars[, 2])) 
# Output: 
[1] "Wºrgl"  "Vºcklabruck" 

但是,也许你的字符串已经被存储为Unicode,这是一个问题与您的系统如何显示它们,在这种情况下,这将无济于事。

0

我在猜测,您向我们展示的是除R以外的其他程序。如果您在R控制台上查看?Syntax,您会看到Unicode字符在转义后引用,例如。 "\u00BA"。这个字符并不是真正的小写 - 小写字母o,但是这个数据源的作者也许使用了不同的字符集。所以,你可以匹配Vöcklabruck"那古怪的拼写用这个表达式逻辑测试

grepl("V\\u00BAcklabruck" , R_reference_to_your_column) 

这应该是TRUE所有你提到的例子。

一个“真正”的小写变音-O中源的符号是和R中的符号`“\ u00E4”,所以我怀疑你真的想这样做:这几天都设置

your_dfrm$yourcol <- gsub("\\u00BA", "\u00E4", your_dfrm$yourcol) 

大多数系统直到显示“虚拟人物”,即带有元音的元音。