我有一個數據庫,其中包含我正在讀入R(3.02)的英超足球運動員的名字,但遇到困難時,他們的名字中帶有外國字符的球員(變音符號,口音等)。下面的代碼說明了這一點:閱讀外國字符
PlayerData<-read.table("C:\\Users\\Documents\\Players.csv",quote=NULL, dec = ".",,sep=",", stringsAsFactors=F,header=T,fill=T,blank.lines.skip = TRUE)
Test<-PlayerData[c(33655:33656),] #names of the players here are "Cazorla" "Özil"
Test[Test$Player=="Cazorla",] #Outputs correct details
Test[Test$Player=="Ozil",] # Can not find data '0 rows> (or 0-length row.names)'
<
#Example of how the foreign character is treated:
substr("Özil",1,1)
[1] "Ã"
substr("Özil",1,2)
[1] "Ö"
substr("Özil",2,2)
[1] "
substr("Özil",2,3)
[1] "z
我試圖替換字符,如下所述:R: Replacing foreign characters in a string,但在我的例子重音字符出現應該被理解成兩個不同的角色,我不認爲它的工作原理。
我將不勝感激任何建議或解決方法。
該文件可供下載here。
你可以把你的CSV的兩行放在網上的某個地方嗎?也許'iconv'可以提供幫助。 –
這需要更長的答案(其中大部分答案不在我的專業範圍之內),但請嘗試將所有內容轉換爲UTF-8:'Test $ Player < - iconv(Test $ Player,to ='UTF-8')''。查看索引是否按預期工作。如果您不強制編碼,字符串將根據您的系統區域設置進行解釋(您提供的示例在我的系統上按預期工作)。 – ilir