2014-06-18 49 views
2

我正在使用RStudio的R腳本(R版本2.15.3在PC上[出於各種原因,我無法使用更新的版本或R]),並且無法保存具有千分之一部分的腳本(‰)。我不能分享我的實際數據,但我附上下面一個簡單的例子:在這個例子中R編碼無法保存符號

library(ggplot2) 
# Gen some random data 
a <- data.frame(replicate(2,sample(1:10,500,rep=TRUE))) 

# Plot with expressions for axes labels 
basic <- ggplot(data = a, aes(X1, X2))+ 
geom_point()+ 
labs(list(colour="Catch Region", x=expression(paste(delta, ""^"13","C ","(‰)")), 
     y=expression(paste(delta, ""^"15","N ","(‰)")))) 

basic 

的圖表數據是無稽之談,但不管它說明我的觀點,你可以看到我的圖表包括有標籤‰符號在他們。在使用RStudio保存此腳本時,我收到了warring消息:

並非C:/ ...中的所有字符都可以使用ISO8859-1進行編碼。要使用不同的編碼進行保存,請從主菜單中選擇「文件|與編碼保存...」。

RStudio有12種不同的編碼類型,我把它們都試過,每個要麼沒有給出交戰在保存,但是當腳本關閉並重新打開‰符號消失了,或者給出相同的有以下如上交戰重新加載生成無意義字符而不是‰符號的腳本。

到目前爲止,我每次需要重新打開腳本時都會將符號更改爲‰,但隨着我的腳本庫不斷增長,我必須爲每個打開的腳本執行此操作,這會變得非常痛苦。任何幫助將非常感激。

另外,我意識到還有一些其他問題在處理編碼問題的stackoverflow,但我迄今發現的任何東西都可以幫助我解決這個特定的問題。

回答

6

使用「文件 - >使用編碼保存 - > UTF-8」。 Unicode是所有編碼的「超集」,因此它處理您可以想象的所有代碼點。而且,R也是Unicode識別的。

+1

令人驚訝的是,在發佈我的問題之前,我曾嘗試使用UTF-8,但您的回答讓我想到,如果UTF-8是「所有編碼的超集」,那麼爲什麼不將它設置爲默認編碼。這個問題;即使我在RStudio重新啓動時保存了使用UTF-8編碼的腳本,它將默認回到ISO8859-1,並且無法讀取UTF-8編碼腳本中的符號,現在RStudio的UTF-8被設置爲默認編碼它就像一個魅力。感謝您的幫助! – 2ton21