2017-05-30 28 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) 

大多數系統直到顯示「虛擬人物」,即帶有元音的元音。